File

src/lib/services/managers/circle-manager.ts

Index

Properties
Methods

Constructor

constructor(_apiWrapper: MapsApiWrapper, _zone: NgZone)
Parameters :
Name Type Optional
_apiWrapper MapsApiWrapper No
_zone NgZone No

Methods

Public Abstract addCircle
addCircle(circle: NgMapsCircleDirective)
Parameters :
Name Type Optional
circle NgMapsCircleDirective No
Returns : Promise | void
Public Abstract createEventObservable
createEventObservable(eventName: string, circle: NgMapsCircleDirective)
Type parameters :
  • E
Parameters :
Name Type Optional
eventName string No
circle NgMapsCircleDirective No
Returns : Observable<E>
Public Abstract getBounds
getBounds(circle: NgMapsCircleDirective)
Parameters :
Name Type Optional
circle NgMapsCircleDirective No
Public Abstract getCenter
getCenter(circle: NgMapsCircleDirective)
Parameters :
Name Type Optional
circle NgMapsCircleDirective No
Public Abstract getRadius
getRadius(circle: NgMapsCircleDirective)
Parameters :
Name Type Optional
circle NgMapsCircleDirective No
Returns : Promise<number | null>
Public Abstract removeCircle
removeCircle(circle: NgMapsCircleDirective)

Removes the given circle from the map.

Parameters :
Name Type Optional
circle NgMapsCircleDirective No
Returns : Promise<void>
Public Abstract setCenter
setCenter(circle: NgMapsCircleDirective)
Parameters :
Name Type Optional
circle NgMapsCircleDirective No
Returns : Promise<void>
Public Abstract setDraggable
setDraggable(circle: NgMapsCircleDirective)
Parameters :
Name Type Optional
circle NgMapsCircleDirective No
Returns : Promise<void>
Public Abstract setEditable
setEditable(circle: NgMapsCircleDirective)
Parameters :
Name Type Optional
circle NgMapsCircleDirective No
Returns : Promise<void>
Public Abstract setOptions
setOptions(circle: NgMapsCircleDirective, options: CircleOptions)
Parameters :
Name Type Optional Description
circle NgMapsCircleDirective No

instance of NgMapsCircleDirective

options CircleOptions No

options for the circle

Returns : Promise<void>
Public Abstract setRadius
setRadius(circle: NgMapsCircleDirective)
Parameters :
Name Type Optional
circle NgMapsCircleDirective No
Returns : Promise<void>
Public Abstract setVisible
setVisible(circle: NgMapsCircleDirective)
Parameters :
Name Type Optional
circle NgMapsCircleDirective No
Returns : Promise<void>

Properties

Protected _circles
Type : Map<NgMapsCircleDirective | Promise<T>>
Default value : new Map< NgMapsCircleDirective, Promise<T> >()
import { Injectable, NgZone } from '@angular/core';
import { Observable } from 'rxjs';

import { NgMapsCircleDirective } from '../../directives/circle';
import { BoundsLiteral } from '../../interface/bounds';
import { CircleOptions } from '../../interface/circle-options';
import { GeoPoint } from '../../interface/geo-point';
import { MapsApiWrapper } from '../maps-api-wrapper';

@Injectable()
export abstract class CircleManager<T = any> {
  protected _circles: Map<NgMapsCircleDirective, Promise<T>> = new Map<
    NgMapsCircleDirective,
    Promise<T>
  >();

  constructor(protected _apiWrapper: MapsApiWrapper, protected _zone: NgZone) {}

  /**
   * @param circle
   */
  public abstract addCircle(
    circle: NgMapsCircleDirective,
  ): Promise<void> | void;

  /**
   * Removes the given circle from the map.
   */
  public abstract removeCircle(circle: NgMapsCircleDirective): Promise<void>;
  /**
   * @todo check how to improve type casting
   * @param circle instance of {@link NgMapsCircleDirective}
   * @param options options for the circle
   */
  public abstract setOptions(
    circle: NgMapsCircleDirective,
    options: CircleOptions,
  ): Promise<void>;

  public abstract getBounds(
    circle: NgMapsCircleDirective,
  ): Promise<BoundsLiteral | null>;

  public abstract getCenter(
    circle: NgMapsCircleDirective,
  ): Promise<GeoPoint | null>;

  public abstract getRadius(
    circle: NgMapsCircleDirective,
  ): Promise<number | null>;

  public abstract setCenter(circle: NgMapsCircleDirective): Promise<void>;

  public abstract setEditable(circle: NgMapsCircleDirective): Promise<void>;

  public abstract setDraggable(circle: NgMapsCircleDirective): Promise<void>;

  public abstract setVisible(circle: NgMapsCircleDirective): Promise<void>;

  public abstract setRadius(circle: NgMapsCircleDirective): Promise<void>;

  public abstract createEventObservable<E>(
    eventName: string,
    circle: NgMapsCircleDirective,
  ): Observable<E>;
}

results matching ""

    No results matching ""