1 | import { AfterContentInit, EventEmitter, OnChanges, OnDestroy, SimpleChange } from '@angular/core';
|
2 | import { MouseEvent } from '../map-types';
|
3 | import { MarkerManager } from '../services/managers/marker-manager';
|
4 | import { SebmGoogleMapInfoWindow } from './google-map-info-window';
|
5 | /**
|
6 | * SebmGoogleMapMarker renders a map marker inside a {@link SebmGoogleMap}.
|
7 | *
|
8 | * ### Example
|
9 | * ```typescript
|
10 | * import { Component } from 'angular2/core';
|
11 | * import { SebmGoogleMap, SebmGoogleMapMarker } from 'angular2-google-maps/core';
|
12 | *
|
13 | * @Component({
|
14 | * selector: 'my-map-cmp',
|
15 | * directives: [SebmGoogleMap, SebmGoogleMapMarker],
|
16 | * styles: [`
|
17 | * .sebm-google-map-container {
|
18 | * height: 300px;
|
19 | * }
|
20 | * `],
|
21 | * template: `
|
22 | * <sebm-google-map [latitude]="lat" [longitude]="lng" [zoom]="zoom">
|
23 | * <sebm-google-map-marker [latitude]="lat" [longitude]="lng" [label]="'M'">
|
24 | * </sebm-google-map-marker>
|
25 | * </sebm-google-map>
|
26 | * `
|
27 | * })
|
28 | * ```
|
29 | */
|
30 | export declare class SebmGoogleMapMarker implements OnDestroy, OnChanges, AfterContentInit {
|
31 | private _markerManager;
|
32 | /**
|
33 | * The latitude position of the marker.
|
34 | */
|
35 | latitude: number;
|
36 | /**
|
37 | * The longitude position of the marker.
|
38 | */
|
39 | longitude: number;
|
40 | /**
|
41 | * The title of the marker.
|
42 | */
|
43 | title: string;
|
44 | /**
|
45 | * The label (a single uppercase character) for the marker.
|
46 | */
|
47 | label: string;
|
48 | /**
|
49 | * If true, the marker can be dragged. Default value is false.
|
50 | */
|
51 | draggable: boolean;
|
52 | /**
|
53 | * Icon (the URL of the image) for the foreground.
|
54 | */
|
55 | iconUrl: string;
|
56 | /**
|
57 | * If true, the marker is visible
|
58 | */
|
59 | visible: boolean;
|
60 | /**
|
61 | * Whether to automatically open the child info window when the marker is clicked.
|
62 | */
|
63 | openInfoWindow: boolean;
|
64 | /**
|
65 | * The marker's opacity between 0.0 and 1.0.
|
66 | */
|
67 | opacity: number;
|
68 | /**
|
69 | * All markers are displayed on the map in order of their zIndex, with higher values displaying in
|
70 | * front of markers with lower values. By default, markers are displayed according to their
|
71 | * vertical position on screen, with lower markers appearing in front of markers further up the
|
72 | * screen.
|
73 | */
|
74 | zIndex: number;
|
75 | /**
|
76 | * This event emitter gets emitted when the user clicks on the marker.
|
77 | */
|
78 | markerClick: EventEmitter<void>;
|
79 | /**
|
80 | * This event is fired when the user stops dragging the marker.
|
81 | */
|
82 | dragEnd: EventEmitter<MouseEvent>;
|
83 | /**
|
84 | * This event is fired when the user mouses over the marker.
|
85 | */
|
86 | mouseOver: EventEmitter<MouseEvent>;
|
87 | /**
|
88 | * This event is fired when the user mouses outside the marker.
|
89 | */
|
90 | mouseOut: EventEmitter<MouseEvent>;
|
91 | /**
|
92 | * @internal
|
93 | */
|
94 | infoWindow: SebmGoogleMapInfoWindow;
|
95 | private _markerAddedToManger;
|
96 | private _id;
|
97 | private _observableSubscriptions;
|
98 | constructor(_markerManager: MarkerManager);
|
99 | ngAfterContentInit(): void;
|
100 | /** @internal */
|
101 | ngOnChanges(changes: {
|
102 | [key: string]: SimpleChange;
|
103 | }): void;
|
104 | private _addEventListeners();
|
105 | /** @internal */
|
106 | id(): string;
|
107 | /** @internal */
|
108 | toString(): string;
|
109 | /** @internal */
|
110 | ngOnDestroy(): void;
|
111 | }
|