src/lib/services/managers/circle-manager.ts
Properties |
|
Methods |
|
constructor(_apiWrapper: MapsApiWrapper, _zone: NgZone)
|
|||||||||
Parameters :
|
Public Abstract addCircle | ||||||
addCircle(circle: NgMapsCircleDirective)
|
||||||
Parameters :
Returns :
Promise | void
|
Public Abstract createEventObservable | |||||||||
createEventObservable(eventName: string, circle: NgMapsCircleDirective)
|
|||||||||
Type parameters :
|
|||||||||
Parameters :
Returns :
Observable<E>
|
Public Abstract getBounds | ||||||
getBounds(circle: NgMapsCircleDirective)
|
||||||
Parameters :
Returns :
Promise<BoundsLiteral | null>
|
Public Abstract getCenter | ||||||
getCenter(circle: NgMapsCircleDirective)
|
||||||
Parameters :
Returns :
Promise<GeoPoint | null>
|
Public Abstract getRadius | ||||||
getRadius(circle: NgMapsCircleDirective)
|
||||||
Parameters :
Returns :
Promise<number | null>
|
Public Abstract removeCircle | ||||||
removeCircle(circle: NgMapsCircleDirective)
|
||||||
Removes the given circle from the map.
Parameters :
Returns :
Promise<void>
|
Public Abstract setCenter | ||||||
setCenter(circle: NgMapsCircleDirective)
|
||||||
Parameters :
Returns :
Promise<void>
|
Public Abstract setDraggable | ||||||
setDraggable(circle: NgMapsCircleDirective)
|
||||||
Parameters :
Returns :
Promise<void>
|
Public Abstract setEditable | ||||||
setEditable(circle: NgMapsCircleDirective)
|
||||||
Parameters :
Returns :
Promise<void>
|
Public Abstract setOptions | ||||||||||||
setOptions(circle: NgMapsCircleDirective, options: CircleOptions)
|
||||||||||||
Parameters :
Returns :
Promise<void>
|
Public Abstract setRadius | ||||||
setRadius(circle: NgMapsCircleDirective)
|
||||||
Parameters :
Returns :
Promise<void>
|
Public Abstract setVisible | ||||||
setVisible(circle: NgMapsCircleDirective)
|
||||||
Parameters :
Returns :
Promise<void>
|
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>;
}