UNPKG

25.7 kBTypeScriptView Raw
1import { Observable } from 'rxjs/Observable';
2import 'rxjs/add/observable/fromEvent';
3/**
4 * @private
5 * You can listen to these events where appropriate
6 */
7export declare const GoogleMapsEvent: {
8 MAP_CLICK: string;
9 MAP_LONG_CLICK: string;
10 MY_LOCATION_CHANGE: string;
11 MY_LOCATION_BUTTON_CLICK: string;
12 INDOOR_BUILDING_FOCUSED: string;
13 INDOOR_LEVEL_ACTIVATED: string;
14 CAMERA_CHANGE: string;
15 CAMERA_IDLE: string;
16 MAP_READY: string;
17 MAP_LOADED: string;
18 MAP_WILL_MOVE: string;
19 MAP_CLOSE: string;
20 MARKER_CLICK: string;
21 OVERLAY_CLICK: string;
22 INFO_CLICK: string;
23 MARKER_DRAG: string;
24 MARKER_DRAG_START: string;
25 MARKER_DRAG_END: string;
26};
27/**
28 * @private
29 */
30export declare const GoogleMapsAnimation: {
31 BOUNCE: string;
32 DROP: string;
33};
34/**
35 * @private
36 */
37export declare const GoogleMapsMapTypeId: {
38 HYBRID: string;
39 NONE: string;
40 NORMAL: string;
41 ROADMAP: string;
42 SATELLITE: string;
43 TERAIN: string;
44};
45/**
46 * @name Google Maps
47 * @description This plugin uses the native Google Maps SDK
48 * @usage
49 * ```
50 * import {
51 * GoogleMap,
52 * GoogleMapsEvent,
53 * GoogleMapsLatLng,
54 * CameraPosition,
55 * GoogleMapsMarkerOptions,
56 * GoogleMapsMarker,
57 * GoogleMapsMapTypeId
58 * } from 'ionic-native';
59 *
60 * export class MapPage {
61 * constructor() {}
62 *
63 * // Load map only after view is initialize
64 * ngAfterViewInit() {
65 * this.loadMap();
66 * }
67 *
68 * loadMap() {
69 * // make sure to create following structure in your view.html file
70 * // and add a height (for example 100%) to it, else the map won't be visible
71 * // <ion-content>
72 * // <div #map id="map" style="height:100%;"></div>
73 * // </ion-content>
74 *
75 * // create a new map by passing HTMLElement
76 * let element: HTMLElement = document.getElementById('map');
77 *
78 * let map = new GoogleMap(element);
79 *
80 * // create LatLng object
81 * let ionic: GoogleMapsLatLng = new GoogleMapsLatLng(43.0741904,-89.3809802);
82 *
83 * // create CameraPosition
84 * let position: CameraPosition = {
85 * target: ionic,
86 * zoom: 18,
87 * tilt: 30
88 * };
89 *
90 * // listen to MAP_READY event
91 * map.one(GoogleMapsEvent.MAP_READY).then(() => {
92 * // move the map's camera to position
93 * map.moveCamera(position); // works on iOS and Android
94 * });
95 *
96 *
97 * // create new marker
98 * let markerOptions: GoogleMapsMarkerOptions = {
99 * position: ionic,
100 * title: 'Ionic'
101 * };
102 *
103 * map.addMarker(markerOptions)
104 * .then((marker: GoogleMapsMarker) => {
105 * marker.showInfoWindow();
106 * });
107 * }
108 * });
109 * }
110 * ```
111 */
112export declare class GoogleMap {
113 _objectInstance: any;
114 /**
115 * Checks if a map object has been created and is available.
116 *
117 * @returns {Promise<boolean>}
118 */
119 static isAvailable(): Promise<boolean>;
120 constructor(element: string | HTMLElement, options?: any);
121 /**
122 * Adds an event listener.
123 *
124 * @returns {Observable<any>}
125 */
126 addEventListener(eventName: string): Observable<any>;
127 /**
128 * Adds an event listener that works once.
129 *
130 * @returns {Promise<any>}
131 */
132 addListenerOnce(eventName: string): Promise<any>;
133 /**
134 * Gets a value
135 * @param key
136 */
137 get(key: string): any;
138 /**
139 * Sets a value
140 * @param key
141 * @param value
142 */
143 set(key: string, value: any): void;
144 /**
145 * Listen to a map event.
146 *
147 * @returns {Observable<any>}
148 */
149 on(eventName: string): Observable<any>;
150 /**
151 * Listen to a map event only once.
152 *
153 * @returns {Promise<any>}
154 */
155 one(eventName: string): Promise<any>;
156 /**
157 * Clears all stored values
158 */
159 empty(): void;
160 setDebuggable(isDebuggable: boolean): void;
161 setClickable(isClickable: boolean): void;
162 /**
163 * Get the position of the camera.
164 *
165 * @returns {Promise<CameraPosition>}
166 */
167 getCameraPosition(): Promise<CameraPosition>;
168 /**
169 * Get the location of the user.
170 *
171 * @returns {Promise<MyLocation>}
172 */
173 getMyLocation(options?: MyLocationOptions): Promise<MyLocation>;
174 /**
175 * Get the visible region.
176 *
177 * @returns {Promise<VisibleRegion>}
178 */
179 getVisibleRegion(): Promise<VisibleRegion>;
180 showDialog(): void;
181 closeDialog(): void;
182 getLicenseInfo(): Promise<string>;
183 setCenter(latLng: GoogleMapsLatLng): void;
184 setZoom(zoomLevel: number): void;
185 setMapTypeId(mapTypeId: string): void;
186 setTilt(tiltLevel: number): void;
187 /**
188 * @returns {Promise<any>}
189 */
190 animateCamera(animateCameraOptions: AnimateCameraOptions): Promise<any>;
191 /**
192 * @returns {Promise<any>}
193 */
194 moveCamera(cameraPosition: CameraPosition): Promise<any>;
195 setMyLocationEnabled(enabled: boolean): void;
196 setIndoorEnabled(enabled: boolean): void;
197 setTrafficEnabled(enabled: boolean): void;
198 setCompassEnabled(enabled: boolean): void;
199 setAllGesturesEnabled(enabled: boolean): void;
200 /**
201 * @returns {Promise<GoogleMapsMarker | any>}
202 */
203 addMarker(options: GoogleMapsMarkerOptions): Promise<GoogleMapsMarker | any>;
204 /**
205 * @returns {Promise<GoogleMapsCircle | any>}
206 */
207 addCircle(options: GoogleMapsCircleOptions): Promise<GoogleMapsCircle | any>;
208 /**
209 * @returns {Promise<GoogleMapsPolygon | any>}
210 */
211 addPolygon(options: GoogleMapsPolygonOptions): Promise<GoogleMapsPolygon | any>;
212 /**
213 * @returns {Promise<GoogleMapsPolyline | any>}
214 */
215 addPolyline(options: GoogleMapsPolylineOptions): Promise<GoogleMapsPolyline | any>;
216 /**
217 * @returns {Promise<GoogleMapsTileOverlay | any>}
218 */
219 addTileOverlay(options: GoogleMapsTileOverlayOptions): Promise<GoogleMapsTileOverlay | any>;
220 /**
221 * @returns {Promise<GoogleMapsGroundOverlay | any>}
222 */
223 addGroundOverlay(options: GoogleMapsGroundOverlayOptions): Promise<GoogleMapsGroundOverlay | any>;
224 /**
225 * @returns {Promise<GoogleMapsKmlOverlay | any>}
226 */
227 addKmlOverlay(options: GoogleMapsKmlOverlayOptions): Promise<GoogleMapsKmlOverlay | any>;
228 setDiv(domNode: HTMLElement): void;
229 setVisible(visible: boolean): void;
230 setOptions(options: any): void;
231 setBackgroundColor(backgroundColor: string): void;
232 setPadding(top?: number, right?: number, bottom?: number, left?: number): void;
233 clear(): void;
234 refreshLayout(): void;
235 /**
236 * @returns {Promise<any>}
237 */
238 fromLatLngToPoint(latLng: GoogleMapsLatLng, point: any): Promise<any>;
239 /**
240 * @returns {Promise<GoogleMapsLatLng>}
241 */
242 fromPointToLatLng(point: any, latLng: GoogleMapsLatLng): Promise<GoogleMapsLatLng>;
243 /**
244 * @returns {Promise<any>}
245 */
246 toDataURL(): Promise<any>;
247 remove(): void;
248 panBy(): void;
249}
250/**
251 * @private
252 */
253export interface AnimateCameraOptions {
254 target?: GoogleMapsLatLng | Array<GoogleMapsMarker> | GoogleMapsLatLngBounds;
255 tilt?: number;
256 zoom?: number;
257 bearing?: number;
258 duration?: number;
259}
260/**
261 * @private
262 */
263export interface CameraPosition {
264 target?: GoogleMapsLatLng | GoogleMapsLatLngBounds | GoogleMapsLatLng[];
265 zoom?: number;
266 tilt?: number;
267 bearing?: number;
268}
269/**
270 * @private
271 */
272export interface MyLocation {
273 latLng?: GoogleMapsLatLng;
274 speed?: number;
275 time?: string;
276 bearing?: number;
277}
278/**
279 * @private
280 */
281export interface MyLocationOptions {
282 enableHighAccuracy?: boolean;
283}
284/**
285 * @private
286 */
287export interface VisibleRegion {
288 northeast?: any;
289 southwest?: any;
290}
291/**
292 * @private
293 */
294export interface GoogleMapsMarkerOptions {
295 /**
296 * The icon image url or properties. Also you can specify HTML Color values. Alternatively you can specify the image as Base64
297 */
298 icon?: any;
299 /**
300 * The content of the infoWindow.
301 */
302 title?: string;
303 /**
304 * The snippet of the infoWindow.
305 */
306 snippet?: string;
307 /**
308 * The position of the marker.
309 */
310 position?: GoogleMapsLatLng;
311 /**
312 * Specify the anchor of the InfoWindow
313 */
314 infoWindowAnchor?: number[];
315 /**
316 * Set true if you want to enable to drag the marker. (Default: false) Important! Drag starts after long pressed on the marker.
317 */
318 draggable?: boolean;
319 /**
320 * Set true if you want to use a flat marker. (Default: false)
321 */
322 flat?: boolean;
323 /**
324 * Set rotation angle. (Default: 0)
325 */
326 rotation?: number;
327 /**
328 * Set false if you want to hide. (Default: true)
329 */
330 visible?: boolean;
331 /**
332 * Specify the options for title.
333 */
334 styles?: any;
335 /**
336 * Which animation to play when marker is added to a map.
337 */
338 animation?: string;
339 /**
340 * iOS only, Plugin Version >= 1.3.3 Higher zIndex value overlays will be drawn on top of lower zIndex value tile layers and overlays. (You're able to run this on Android, but it will have no effect)
341 */
342 zIndex?: number;
343 /**
344 * Set to true to disable auto panning when the marker is clicked.
345 */
346 disableAutoPan?: boolean;
347 /**
348 * Function to be invoked when the user clicks on the marker
349 */
350 markerClick?: Function;
351 /**
352 * Function to be invoked when the user clicks on the info box
353 */
354 infoClick?: Function;
355}
356/**
357 * @private
358 */
359export interface GoogleMapsMarkerIcon {
360 url?: string;
361 size?: {
362 width?: number;
363 height?: number;
364 };
365}
366/**
367 * @private
368 */
369export declare class GoogleMapsMarker {
370 private _objectInstance;
371 constructor(_objectInstance: any);
372 /**
373 * Adds an event listener.
374 *
375 * @returns {Observable<any>}
376 */
377 addEventListener(eventName: string): Observable<any>;
378 /**
379 * Adds an event listener that works once.
380 *
381 * @returns {Promise<any>}
382 */
383 addListenerOnce(eventName: string): Promise<any>;
384 /**
385 * Gets a value
386 * @param key
387 */
388 get(key: string): any;
389 /**
390 * Sets a value
391 * @param key
392 * @param value
393 */
394 set(key: string, value: any): void;
395 /**
396 * Listen to a map event.
397 *
398 * @returns {Observable<any>}
399 */
400 on(eventName: string): Observable<any>;
401 /**
402 * Listen to a map event only once.
403 *
404 * @returns {Promise<any>}
405 */
406 one(eventName: string): Promise<any>;
407 /**
408 * Clears all stored values
409 */
410 empty(): void;
411 /**
412 * Return true if the marker is visible
413 */
414 isVisible(): boolean;
415 /**
416 * Set false if you want to hide the marker.
417 * @param visible
418 */
419 setVisible(visible: boolean): void;
420 /**
421 * Return the marker hash code.
422 * @return {string} Marker hash code
423 */
424 getHashCode(): string;
425 /**
426 * Remove the marker completely.
427 */
428 remove(): void;
429 /**
430 * Change the marker opacity.
431 * @param alpha {number} Opacity
432 */
433 setOpacity(alpha: number): void;
434 /**
435 * Return the marker opacity.
436 * @return {number} Opacity
437 */
438 getOpacity(): number;
439 /**
440 * iOS only, Plugin Version >= 1.3.3 Higher zIndex value overlays will be drawn on top of lower zIndex value tile layers and overlays. (You're able to run this on Android, but it will have no effect)
441 * @return {number}
442 */
443 setZIndex(): number;
444 /**
445 * Change the info window anchor. This defaults to 50% from the left of the image and at the bottom of the image.
446 * @param x {number}
447 * @param y {number}
448 */
449 setIconAnchor(x: number, y: number): void;
450 /**
451 * Change the info window anchor. This defaults to 50% from the left of the image and at the top of the image.
452 * @param x {number}
453 * @param y {number}
454 */
455 setInfoWindowAnchor(x: number, y: number): void;
456 /**
457 * Set true if you allows all users to drag the marker.
458 * @param draggable {boolean}
459 */
460 setDraggable(draggable: boolean): void;
461 /**
462 * Return true if the marker drag is enabled.
463 * @return {boolean}
464 */
465 isDraggable(): boolean;
466 /**
467 * Set true if you want to be flat marker.
468 * @param flat {boolean}
469 */
470 setFlat(flat: boolean): void;
471 /**
472 * Change icon url and/or size
473 * @param icon
474 */
475 setIcon(icon: GoogleMapsMarkerIcon): void;
476 /**
477 * Change title of the infoWindow.
478 * @param title {string}
479 */
480 setTitle(title: string): void;
481 /**
482 * Return the title strings.
483 * @return {string}
484 */
485 getTitle(): string;
486 /**
487 * Change snippet of the infoWindow.
488 * @param snippet {string}
489 */
490 setSnippet(snippet: string): void;
491 /**
492 * Return the snippet strings.
493 * @return {string}
494 */
495 getSnippet(): string;
496 /**
497 * Set the marker rotation angle.
498 * @param rotation {number}
499 */
500 setRotation(rotation: number): void;
501 /**
502 * Return the marker rotation angle.
503 * @return {number}
504 */
505 getRotation(): number;
506 /**
507 * Show the infoWindow of the marker.
508 * @return {number}
509 */
510 showInfoWindow(): number;
511 /**
512 * Hide the infoWindow of the marker.
513 * @return {number}
514 */
515 hideInfoWindow(): number;
516 /**
517 * Set the marker position.
518 * @param latLng {GoogleMapLatLng}
519 */
520 setPosition(latLng: GoogleMapsLatLng): void;
521 /**
522 * Return the marker position.
523 * @return {Promise<GoogleMapLatLng>}
524 */
525 getPosition(): Promise<GoogleMapsLatLng>;
526 /**
527 * Return the map instance.
528 * @return {GoogleMap}
529 */
530 getMap(): GoogleMap;
531 /**
532 * Specify the animation either `DROP` or `BOUNCE`
533 * @param animation {string}
534 */
535 setAnimation(animation: string): void;
536}
537/**
538 * @private
539 */
540export interface GoogleMapsCircleOptions {
541 center?: GoogleMapsLatLng;
542 radius?: number;
543 strokeColor?: string;
544 strokeWidth?: number;
545 fillColor?: string;
546 visible?: boolean;
547 zIndex?: number;
548}
549/**
550 * @private
551 */
552export declare class GoogleMapsCircle {
553 private _objectInstance;
554 constructor(_objectInstance: any);
555 /**
556 * Adds an event listener.
557 *
558 * @returns {Observable<any>}
559 */
560 addEventListener(eventName: string): Observable<any>;
561 /**
562 * Adds an event listener that works once.
563 *
564 * @returns {Promise<any>}
565 */
566 addListenerOnce(eventName: string): Promise<any>;
567 /**
568 * Gets a value
569 * @param key
570 */
571 get(key: string): any;
572 /**
573 * Sets a value
574 * @param key
575 * @param value
576 */
577 set(key: string, value: any): void;
578 /**
579 * Listen to a map event.
580 *
581 * @returns {Observable<any>}
582 */
583 on(eventName: string): Observable<any>;
584 /**
585 * Listen to a map event only once.
586 *
587 * @returns {Promise<any>}
588 */
589 one(eventName: string): Promise<any>;
590 /**
591 * Clears all stored values
592 */
593 empty(): void;
594 getCenter(): GoogleMapsLatLng;
595 getRadius(): number;
596 getStrokeColor(): string;
597 getVisible(): boolean;
598 getZIndex(): number;
599 remove(): void;
600 setCenter(latLng: GoogleMapsLatLng): void;
601 setFillColor(fillColor: string): void;
602 setStrokeColor(strokeColor: string): void;
603 setStrokeWidth(strokeWidth: number): void;
604 setVisible(visible: boolean): void;
605 setZIndex(zIndex: number): void;
606 setRadius(radius: number): void;
607 getMap(): GoogleMap;
608}
609/**
610 * @private
611 */
612export interface GoogleMapsPolylineOptions {
613 points?: Array<GoogleMapsLatLng>;
614 visible?: boolean;
615 geodesic?: boolean;
616 color?: string;
617 width?: number;
618 zIndex?: number;
619}
620/**
621 * @private
622 */
623export declare class GoogleMapsPolyline {
624 private _objectInstance;
625 constructor(_objectInstance: any);
626 /**
627 * Adds an event listener.
628 *
629 * @returns {Observable<any>}
630 */
631 addEventListener(eventName: string): Observable<any>;
632 /**
633 * Adds an event listener that works once.
634 *
635 * @returns {Promise<any>}
636 */
637 addListenerOnce(eventName: string): Promise<any>;
638 /**
639 * Gets a value
640 * @param key
641 */
642 get(key: string): any;
643 /**
644 * Sets a value
645 * @param key
646 * @param value
647 */
648 set(key: string, value: any): void;
649 /**
650 * Listen to a map event.
651 *
652 * @returns {Observable<any>}
653 */
654 on(eventName: string): Observable<any>;
655 /**
656 * Listen to a map event only once.
657 *
658 * @returns {Promise<any>}
659 */
660 one(eventName: string): Promise<any>;
661 /**
662 * Clears all stored values
663 */
664 empty(): void;
665 getPoints(): Array<GoogleMapsLatLng>;
666 getCOlor(): string;
667 getWidth(): number;
668 getGeodesic(): boolean;
669 getZIndex(): number;
670 remove(): void;
671 setPoints(points: Array<GoogleMapsLatLng>): void;
672 setColor(color: string): void;
673 setWidth(width: number): void;
674 setVisible(visible: boolean): void;
675 setZIndex(zIndex: number): void;
676 setGeoDesic(geoDesic: boolean): void;
677 getMap(): GoogleMap;
678}
679/**
680 * @private
681 */
682export interface GoogleMapsPolygonOptions {
683 points?: Array<GoogleMapsLatLng>;
684 geodesic?: boolean;
685 strokeColor?: string;
686 strokeWidth?: number;
687 fillColor?: string;
688 visible?: boolean;
689 zIndex?: number;
690 addHole?: Array<GoogleMapsLatLng>;
691}
692/**
693 * @private
694 */
695export declare class GoogleMapsPolygon {
696 private _objectInstance;
697 constructor(_objectInstance: any);
698 /**
699 * Adds an event listener.
700 *
701 * @returns {Observable<any>}
702 */
703 addEventListener(eventName: string): Observable<any>;
704 /**
705 * Adds an event listener that works once.
706 *
707 * @returns {Promise<any>}
708 */
709 addListenerOnce(eventName: string): Promise<any>;
710 /**
711 * Gets a value
712 * @param key
713 */
714 get(key: string): any;
715 /**
716 * Sets a value
717 * @param key
718 * @param value
719 */
720 set(key: string, value: any): void;
721 /**
722 * Listen to a map event.
723 *
724 * @returns {Observable<any>}
725 */
726 on(eventName: string): Observable<any>;
727 /**
728 * Listen to a map event only once.
729 *
730 * @returns {Promise<any>}
731 */
732 one(eventName: string): Promise<any>;
733 /**
734 * Clears all stored values
735 */
736 empty(): void;
737 getPoints(): Array<GoogleMapsLatLng>;
738 getStrokeColor(): string;
739 getFillColor(): string;
740 getStrokeWidth(): number;
741 getGeodesic(): boolean;
742 getVisible(): boolean;
743 getZIndex(): boolean;
744 remove(): void;
745 setPoints(points: Array<GoogleMapsLatLng>): void;
746 setStrokeColor(strokeColor: string): void;
747 setFillColor(fillColor: string): void;
748 setStrokeWidth(strokeWidth: number): void;
749 setVisible(visible: boolean): void;
750 setZIndex(zIndex: number): void;
751 setGeodesic(geodesic: boolean): void;
752}
753/**
754 * @private
755 */
756export interface GoogleMapsTileOverlayOptions {
757 tileUrlFormat?: string;
758 visible?: boolean;
759 zIndex?: number;
760 tileSize?: number;
761 opacity?: number;
762}
763/**
764 * @private
765 */
766export declare class GoogleMapsTileOverlay {
767 private _objectInstance;
768 constructor(_objectInstance: any);
769 /**
770 * Adds an event listener.
771 *
772 * @returns {Observable<any>}
773 */
774 addEventListener(eventName: string): Observable<any>;
775 /**
776 * Adds an event listener that works once.
777 *
778 * @returns {Promise<any>}
779 */
780 addListenerOnce(eventName: string): Promise<any>;
781 /**
782 * Gets a value
783 * @param key
784 */
785 get(key: string): any;
786 /**
787 * Sets a value
788 * @param key
789 * @param value
790 */
791 set(key: string, value: any): void;
792 /**
793 * Listen to a map event.
794 *
795 * @returns {Observable<any>}
796 */
797 on(eventName: string): Observable<any>;
798 /**
799 * Listen to a map event only once.
800 *
801 * @returns {Promise<any>}
802 */
803 one(eventName: string): Promise<any>;
804 /**
805 * Clears all stored values
806 */
807 empty(): void;
808 getVisible(): boolean;
809 setVisible(visible: boolean): void;
810 getFadeIn(): boolean;
811 setFadeIn(fadeIn: boolean): void;
812 getZIndex(): number;
813 setZIndex(zIndex: number): void;
814 getOpacity(): number;
815 setOpacity(opacity: number): void;
816 clearTileCache(): void;
817 remove(): void;
818}
819/**
820 * @private
821 */
822export interface GoogleMapsGroundOverlayOptions {
823 url?: string;
824 bounds?: Array<GoogleMapsLatLng>;
825 visible?: boolean;
826 opacity?: number;
827 bearing?: number;
828 zIndex?: number;
829}
830/**
831 * @private
832 */
833export declare class GoogleMapsGroundOverlay {
834 private _objectInstance;
835 constructor(_objectInstance: any);
836 /**
837 * Adds an event listener.
838 *
839 * @returns {Observable<any>}
840 */
841 addEventListener(eventName: string): Observable<any>;
842 /**
843 * Adds an event listener that works once.
844 *
845 * @returns {Promise<any>}
846 */
847 addListenerOnce(eventName: string): Promise<any>;
848 /**
849 * Gets a value
850 * @param key
851 */
852 get(key: string): any;
853 /**
854 * Sets a value
855 * @param key
856 * @param value
857 */
858 set(key: string, value: any): void;
859 /**
860 * Listen to a map event.
861 *
862 * @returns {Observable<any>}
863 */
864 on(eventName: string): Observable<any>;
865 /**
866 * Listen to a map event only once.
867 *
868 * @returns {Promise<any>}
869 */
870 one(eventName: string): Promise<any>;
871 /**
872 * Clears all stored values
873 */
874 empty(): void;
875 setBearing(bearing: number): void;
876 getBearing(): number;
877 setOpacity(opacity: number): void;
878 getOpacity(): number;
879 setVisible(visible: boolean): void;
880 getVisible(): boolean;
881 setImage(image: string): void;
882 remove(): void;
883}
884/**
885 * @private
886 */
887export interface GoogleMapsKmlOverlayOptions {
888 url?: string;
889 preserveViewport?: boolean;
890 animation?: boolean;
891}
892/**
893 * @private
894 */
895export declare class GoogleMapsKmlOverlay {
896 private _objectInstance;
897 constructor(_objectInstance: any);
898 /**
899 * Adds an event listener.
900 *
901 * @returns {Observable<any>}
902 */
903 addEventListener(eventName: string): Observable<any>;
904 /**
905 * Adds an event listener that works once.
906 *
907 * @returns {Promise<any>}
908 */
909 addListenerOnce(eventName: string): Promise<any>;
910 /**
911 * Gets a value
912 * @param key
913 */
914 get(key: string): any;
915 /**
916 * Sets a value
917 * @param key
918 * @param value
919 */
920 set(key: string, value: any): void;
921 /**
922 * Listen to a map event.
923 *
924 * @returns {Observable<any>}
925 */
926 on(eventName: string): Observable<any>;
927 /**
928 * Listen to a map event only once.
929 *
930 * @returns {Promise<any>}
931 */
932 one(eventName: string): Promise<any>;
933 /**
934 * Clears all stored values
935 */
936 empty(): void;
937 remove(): void;
938 getOverlays(): Array<GoogleMapsPolyline | GoogleMapsPolygon | GoogleMapsMarker>;
939}
940/**
941 * @private
942 */
943export declare class GoogleMapsLatLngBounds {
944 private _objectInstance;
945 northeast: GoogleMapsLatLng;
946 southwest: GoogleMapsLatLng;
947 type: string;
948 constructor(southwestOrArrayOfLatLng: GoogleMapsLatLng | GoogleMapsLatLng[], northeast?: GoogleMapsLatLng);
949 toString(): string;
950 toUrlValue(precision?: number): string;
951 extend(LatLng: GoogleMapsLatLng): void;
952 contains(LatLng: GoogleMapsLatLng): boolean;
953 getCenter(): GoogleMapsLatLng;
954}
955/**
956 * @private
957 */
958export declare class GoogleMapsLatLng {
959 lat: number;
960 lng: number;
961 constructor(lat: number, lng: number);
962 equals(other: GoogleMapsLatLng): boolean;
963 toString(): string;
964 toUrlValue(precision?: number): string;
965}
966/**
967 * @private
968 */
969export interface GeocoderRequest {
970 address?: string;
971 bounds?: GoogleMapsLatLng[];
972 position?: {
973 lat: number;
974 lng: number;
975 };
976}
977/**
978 * @private
979 */
980export interface GeocoderResult {
981 adminArea?: string;
982 country?: string;
983 countryCode?: string;
984 extra?: {
985 featureName?: string;
986 lines?: Array<string>;
987 permises?: string;
988 phone?: string;
989 url?: string;
990 };
991 locale?: string;
992 locality?: string;
993 position?: {
994 lat: number;
995 lng: number;
996 };
997 postalCode?: string;
998 subAdminArea?: string;
999 subLocality?: string;
1000 subThoroughfare?: string;
1001 thoroughfare?: string;
1002}
1003/**
1004 * @private
1005 */
1006export declare class Geocoder {
1007 /**
1008 * Converts position to address and vice versa
1009 * @param {GeocoderRequest} request Request object with either an address or a position
1010 * @returns {Promise<GeocoderResult[]>}
1011 */
1012 static geocode(request: GeocoderRequest): Promise<GeocoderResult[] | any>;
1013}