vue3-google-map 0.10.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,9 @@
1
1
  /// <reference types="google.maps" />
2
2
  import { PropType } from "vue";
3
3
  declare const _default: import("vue").DefineComponent<{
4
+ apiPromise: {
5
+ type: PropType<Promise<typeof google>>;
6
+ };
4
7
  apiKey: {
5
8
  type: StringConstructor;
6
9
  default: string;
@@ -99,6 +102,10 @@ declare const _default: import("vue").DefineComponent<{
99
102
  type: PropType<string>;
100
103
  required: false;
101
104
  };
105
+ mapId: {
106
+ type: StringConstructor;
107
+ required: false;
108
+ };
102
109
  maxZoom: {
103
110
  type: NumberConstructor;
104
111
  required: false;
@@ -183,424 +190,10 @@ declare const _default: import("vue").DefineComponent<{
183
190
  required: false;
184
191
  };
185
192
  }, {
186
- mapRef: import("vue").Ref<HTMLElement | null>;
193
+ mapRef: import("vue").Ref<HTMLElement | undefined>;
187
194
  ready: import("vue").Ref<boolean>;
188
- map: import("vue").Ref<{
189
- controls: {
190
- clear: () => void;
191
- forEach: (callback: (a: any, b: number) => void) => void;
192
- getArray: () => any[];
193
- getAt: (i: number) => any;
194
- getLength: () => number;
195
- insertAt: (i: number, elem: any) => void;
196
- pop: () => any;
197
- push: (elem: any) => number;
198
- removeAt: (i: number) => any;
199
- setAt: (i: number, elem: any) => void;
200
- addListener: (eventName: string, handler: Function) => google.maps.MapsEventListener;
201
- bindTo: (key: string, target: google.maps.MVCObject, targetKey?: string | null | undefined, noNotify?: boolean | undefined) => void;
202
- get: (key: string) => any;
203
- notify: (key: string) => void;
204
- set: (key: string, value: any) => void;
205
- setValues: (values?: object | null | undefined) => void;
206
- unbind: (key: string) => void;
207
- unbindAll: () => void;
208
- }[];
209
- data: {
210
- add: (feature?: google.maps.Data.Feature | google.maps.Data.FeatureOptions | null | undefined) => google.maps.Data.Feature;
211
- addGeoJson: (geoJson: object, options?: google.maps.Data.GeoJsonOptions | null | undefined) => google.maps.Data.Feature[];
212
- contains: (feature: google.maps.Data.Feature) => boolean;
213
- forEach: (callback: (a: google.maps.Data.Feature) => void) => void;
214
- getControlPosition: () => google.maps.ControlPosition;
215
- getControls: () => string[] | null;
216
- getDrawingMode: () => string | null;
217
- getFeatureById: (id: string | number) => google.maps.Data.Feature | undefined;
218
- getMap: () => google.maps.Map | null;
219
- getStyle: () => google.maps.Data.StylingFunction | google.maps.Data.StyleOptions | null;
220
- loadGeoJson: (url: string, options?: google.maps.Data.GeoJsonOptions | null | undefined, callback?: ((a: google.maps.Data.Feature[]) => void) | undefined) => void;
221
- overrideStyle: (feature: google.maps.Data.Feature, style: google.maps.Data.StyleOptions) => void;
222
- remove: (feature: google.maps.Data.Feature) => void;
223
- revertStyle: (feature?: google.maps.Data.Feature | null | undefined) => void;
224
- setControlPosition: (controlPosition: google.maps.ControlPosition) => void;
225
- setControls: (controls: string[] | null) => void;
226
- setDrawingMode: (drawingMode: string | null) => void;
227
- setMap: (map: google.maps.Map | null) => void;
228
- setStyle: (style: google.maps.Data.StylingFunction | google.maps.Data.StyleOptions | null) => void;
229
- toGeoJson: (callback: (a: object) => void) => void;
230
- addListener: (eventName: string, handler: Function) => google.maps.MapsEventListener;
231
- bindTo: (key: string, target: google.maps.MVCObject, targetKey?: string | null | undefined, noNotify?: boolean | undefined) => void;
232
- get: (key: string) => any;
233
- notify: (key: string) => void;
234
- set: (key: string, value: any) => void;
235
- setValues: (values?: object | null | undefined) => void;
236
- unbind: (key: string) => void;
237
- unbindAll: () => void;
238
- };
239
- fitBounds: (bounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral, padding?: number | google.maps.Padding | undefined) => void;
240
- getBounds: () => google.maps.LatLngBounds | undefined;
241
- getCenter: () => google.maps.LatLng | undefined;
242
- getClickableIcons: () => boolean | undefined;
243
- getDiv: () => Element;
244
- getHeading: () => number | undefined;
245
- getMapTypeId: () => string | undefined;
246
- getProjection: () => google.maps.Projection | undefined;
247
- getRenderingType: () => google.maps.RenderingType;
248
- getStreetView: () => google.maps.StreetViewPanorama;
249
- getTilt: () => number | undefined;
250
- getZoom: () => number | undefined;
251
- mapTypes: {
252
- set: (id: string, mapType: any) => void;
253
- addListener: (eventName: string, handler: Function) => google.maps.MapsEventListener;
254
- bindTo: (key: string, target: google.maps.MVCObject, targetKey?: string | null | undefined, noNotify?: boolean | undefined) => void;
255
- get: (key: string) => any;
256
- notify: (key: string) => void;
257
- setValues: (values?: object | null | undefined) => void;
258
- unbind: (key: string) => void;
259
- unbindAll: () => void;
260
- };
261
- moveCamera: (cameraOptions: google.maps.CameraOptions) => void;
262
- overlayMapTypes: {
263
- clear: () => void;
264
- forEach: (callback: (a: any, b: number) => void) => void;
265
- getArray: () => any[];
266
- getAt: (i: number) => any;
267
- getLength: () => number;
268
- insertAt: (i: number, elem: any) => void;
269
- pop: () => any;
270
- push: (elem: any) => number;
271
- removeAt: (i: number) => any;
272
- setAt: (i: number, elem: any) => void;
273
- addListener: (eventName: string, handler: Function) => google.maps.MapsEventListener;
274
- bindTo: (key: string, target: google.maps.MVCObject, targetKey?: string | null | undefined, noNotify?: boolean | undefined) => void;
275
- get: (key: string) => any;
276
- notify: (key: string) => void;
277
- set: (key: string, value: any) => void;
278
- setValues: (values?: object | null | undefined) => void;
279
- unbind: (key: string) => void;
280
- unbindAll: () => void;
281
- };
282
- panBy: (x: number, y: number) => void;
283
- panTo: (latLng: google.maps.LatLng | google.maps.LatLngLiteral) => void;
284
- panToBounds: (latLngBounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral, padding?: number | google.maps.Padding | undefined) => void;
285
- setCenter: (latlng: google.maps.LatLng | google.maps.LatLngLiteral) => void;
286
- setClickableIcons: (value: boolean) => void;
287
- setHeading: (heading: number) => void;
288
- setMapTypeId: (mapTypeId: string) => void;
289
- setOptions: (options: google.maps.MapOptions | null) => void;
290
- setStreetView: (panorama: google.maps.StreetViewPanorama | null) => void;
291
- setTilt: (tilt: number) => void;
292
- setZoom: (zoom: number) => void;
293
- addListener: (eventName: string, handler: Function) => google.maps.MapsEventListener;
294
- bindTo: (key: string, target: google.maps.MVCObject, targetKey?: string | null | undefined, noNotify?: boolean | undefined) => void;
295
- get: (key: string) => any;
296
- notify: (key: string) => void;
297
- set: (key: string, value: any) => void;
298
- setValues: (values?: object | null | undefined) => void;
299
- unbind: (key: string) => void;
300
- unbindAll: () => void;
301
- } | null>;
302
- api: import("vue").Ref<{
303
- Animation: {
304
- [x: number]: string;
305
- readonly BOUNCE: google.maps.Animation.BOUNCE;
306
- readonly DROP: google.maps.Animation.DROP;
307
- };
308
- BicyclingLayer: typeof google.maps.BicyclingLayer;
309
- Circle: typeof google.maps.Circle;
310
- ControlPosition: {
311
- [x: number]: string;
312
- readonly BOTTOM_CENTER: google.maps.ControlPosition.BOTTOM_CENTER;
313
- readonly BOTTOM_LEFT: google.maps.ControlPosition.BOTTOM_LEFT;
314
- readonly BOTTOM_RIGHT: google.maps.ControlPosition.BOTTOM_RIGHT;
315
- readonly LEFT_BOTTOM: google.maps.ControlPosition.LEFT_BOTTOM;
316
- readonly LEFT_CENTER: google.maps.ControlPosition.LEFT_CENTER;
317
- readonly LEFT_TOP: google.maps.ControlPosition.LEFT_TOP;
318
- readonly RIGHT_BOTTOM: google.maps.ControlPosition.RIGHT_BOTTOM;
319
- readonly RIGHT_CENTER: google.maps.ControlPosition.RIGHT_CENTER;
320
- readonly RIGHT_TOP: google.maps.ControlPosition.RIGHT_TOP;
321
- readonly TOP_CENTER: google.maps.ControlPosition.TOP_CENTER;
322
- readonly TOP_LEFT: google.maps.ControlPosition.TOP_LEFT;
323
- readonly TOP_RIGHT: google.maps.ControlPosition.TOP_RIGHT;
324
- };
325
- Data: typeof google.maps.Data;
326
- DirectionsRenderer: typeof google.maps.DirectionsRenderer;
327
- DirectionsService: typeof google.maps.DirectionsService;
328
- DirectionsStatus: {
329
- readonly INVALID_REQUEST: google.maps.DirectionsStatus.INVALID_REQUEST;
330
- readonly MAX_WAYPOINTS_EXCEEDED: google.maps.DirectionsStatus.MAX_WAYPOINTS_EXCEEDED;
331
- readonly NOT_FOUND: google.maps.DirectionsStatus.NOT_FOUND;
332
- readonly OK: google.maps.DirectionsStatus.OK;
333
- readonly OVER_QUERY_LIMIT: google.maps.DirectionsStatus.OVER_QUERY_LIMIT;
334
- readonly REQUEST_DENIED: google.maps.DirectionsStatus.REQUEST_DENIED;
335
- readonly UNKNOWN_ERROR: google.maps.DirectionsStatus.UNKNOWN_ERROR;
336
- readonly ZERO_RESULTS: google.maps.DirectionsStatus.ZERO_RESULTS;
337
- };
338
- DistanceMatrixElementStatus: {
339
- readonly NOT_FOUND: google.maps.DistanceMatrixElementStatus.NOT_FOUND;
340
- readonly OK: google.maps.DistanceMatrixElementStatus.OK;
341
- readonly ZERO_RESULTS: google.maps.DistanceMatrixElementStatus.ZERO_RESULTS;
342
- };
343
- DistanceMatrixService: typeof google.maps.DistanceMatrixService;
344
- DistanceMatrixStatus: {
345
- readonly INVALID_REQUEST: google.maps.DistanceMatrixStatus.INVALID_REQUEST;
346
- readonly MAX_DIMENSIONS_EXCEEDED: google.maps.DistanceMatrixStatus.MAX_DIMENSIONS_EXCEEDED;
347
- readonly MAX_ELEMENTS_EXCEEDED: google.maps.DistanceMatrixStatus.MAX_ELEMENTS_EXCEEDED;
348
- readonly OK: google.maps.DistanceMatrixStatus.OK;
349
- readonly OVER_QUERY_LIMIT: google.maps.DistanceMatrixStatus.OVER_QUERY_LIMIT;
350
- readonly REQUEST_DENIED: google.maps.DistanceMatrixStatus.REQUEST_DENIED;
351
- readonly UNKNOWN_ERROR: google.maps.DistanceMatrixStatus.UNKNOWN_ERROR;
352
- };
353
- ElevationService: typeof google.maps.ElevationService;
354
- ElevationStatus: {
355
- readonly INVALID_REQUEST: google.maps.ElevationStatus.INVALID_REQUEST;
356
- readonly OK: google.maps.ElevationStatus.OK;
357
- readonly OVER_QUERY_LIMIT: google.maps.ElevationStatus.OVER_QUERY_LIMIT;
358
- readonly REQUEST_DENIED: google.maps.ElevationStatus.REQUEST_DENIED;
359
- readonly UNKNOWN_ERROR: google.maps.ElevationStatus.UNKNOWN_ERROR;
360
- };
361
- Geocoder: typeof google.maps.Geocoder;
362
- GeocoderLocationType: {
363
- readonly APPROXIMATE: google.maps.GeocoderLocationType.APPROXIMATE;
364
- readonly GEOMETRIC_CENTER: google.maps.GeocoderLocationType.GEOMETRIC_CENTER;
365
- readonly RANGE_INTERPOLATED: google.maps.GeocoderLocationType.RANGE_INTERPOLATED;
366
- readonly ROOFTOP: google.maps.GeocoderLocationType.ROOFTOP;
367
- };
368
- GeocoderStatus: {
369
- readonly ERROR: google.maps.GeocoderStatus.ERROR;
370
- readonly INVALID_REQUEST: google.maps.GeocoderStatus.INVALID_REQUEST;
371
- readonly OK: google.maps.GeocoderStatus.OK;
372
- readonly OVER_QUERY_LIMIT: google.maps.GeocoderStatus.OVER_QUERY_LIMIT;
373
- readonly REQUEST_DENIED: google.maps.GeocoderStatus.REQUEST_DENIED;
374
- readonly UNKNOWN_ERROR: google.maps.GeocoderStatus.UNKNOWN_ERROR;
375
- readonly ZERO_RESULTS: google.maps.GeocoderStatus.ZERO_RESULTS;
376
- };
377
- GroundOverlay: typeof google.maps.GroundOverlay;
378
- ImageMapType: typeof google.maps.ImageMapType;
379
- InfoWindow: typeof google.maps.InfoWindow;
380
- KmlLayer: typeof google.maps.KmlLayer;
381
- KmlLayerStatus: {
382
- readonly DOCUMENT_NOT_FOUND: google.maps.KmlLayerStatus.DOCUMENT_NOT_FOUND;
383
- readonly DOCUMENT_TOO_LARGE: google.maps.KmlLayerStatus.DOCUMENT_TOO_LARGE;
384
- readonly FETCH_ERROR: google.maps.KmlLayerStatus.FETCH_ERROR;
385
- readonly INVALID_DOCUMENT: google.maps.KmlLayerStatus.INVALID_DOCUMENT;
386
- readonly INVALID_REQUEST: google.maps.KmlLayerStatus.INVALID_REQUEST;
387
- readonly LIMITS_EXCEEDED: google.maps.KmlLayerStatus.LIMITS_EXCEEDED;
388
- readonly OK: google.maps.KmlLayerStatus.OK;
389
- readonly TIMED_OUT: google.maps.KmlLayerStatus.TIMED_OUT;
390
- readonly UNKNOWN: google.maps.KmlLayerStatus.UNKNOWN;
391
- };
392
- LatLng: typeof google.maps.LatLng;
393
- LatLngBounds: typeof google.maps.LatLngBounds;
394
- MVCArray: typeof google.maps.MVCArray;
395
- MVCObject: typeof google.maps.MVCObject;
396
- Map: typeof google.maps.Map;
397
- MapTypeControlStyle: {
398
- [x: number]: string;
399
- readonly DEFAULT: google.maps.MapTypeControlStyle.DEFAULT;
400
- readonly DROPDOWN_MENU: google.maps.MapTypeControlStyle.DROPDOWN_MENU;
401
- readonly HORIZONTAL_BAR: google.maps.MapTypeControlStyle.HORIZONTAL_BAR;
402
- };
403
- MapTypeId: {
404
- readonly HYBRID: google.maps.MapTypeId.HYBRID;
405
- readonly ROADMAP: google.maps.MapTypeId.ROADMAP;
406
- readonly SATELLITE: google.maps.MapTypeId.SATELLITE;
407
- readonly TERRAIN: google.maps.MapTypeId.TERRAIN;
408
- };
409
- MapTypeRegistry: typeof google.maps.MapTypeRegistry;
410
- Marker: typeof google.maps.Marker;
411
- MaxZoomService: typeof google.maps.MaxZoomService;
412
- MaxZoomStatus: {
413
- readonly ERROR: google.maps.MaxZoomStatus.ERROR;
414
- readonly OK: google.maps.MaxZoomStatus.OK;
415
- };
416
- OverlayView: typeof google.maps.OverlayView;
417
- Point: typeof google.maps.Point;
418
- Polygon: typeof google.maps.Polygon;
419
- Polyline: typeof google.maps.Polyline;
420
- Rectangle: typeof google.maps.Rectangle;
421
- RenderingType: {
422
- readonly RASTER: google.maps.RenderingType.RASTER;
423
- readonly UNINITIALIZED: google.maps.RenderingType.UNINITIALIZED;
424
- readonly VECTOR: google.maps.RenderingType.VECTOR;
425
- };
426
- ScaleControlStyle: {
427
- [x: number]: string;
428
- readonly DEFAULT: google.maps.ScaleControlStyle.DEFAULT;
429
- };
430
- Size: typeof google.maps.Size;
431
- StreetViewCoverageLayer: typeof google.maps.StreetViewCoverageLayer;
432
- StreetViewPanorama: typeof google.maps.StreetViewPanorama;
433
- StreetViewPreference: {
434
- readonly BEST: google.maps.StreetViewPreference.BEST;
435
- readonly NEAREST: google.maps.StreetViewPreference.NEAREST;
436
- };
437
- StreetViewService: typeof google.maps.StreetViewService;
438
- StreetViewSource: {
439
- readonly DEFAULT: google.maps.StreetViewSource.DEFAULT;
440
- readonly OUTDOOR: google.maps.StreetViewSource.OUTDOOR;
441
- };
442
- StreetViewStatus: {
443
- readonly OK: google.maps.StreetViewStatus.OK;
444
- readonly UNKNOWN_ERROR: google.maps.StreetViewStatus.UNKNOWN_ERROR;
445
- readonly ZERO_RESULTS: google.maps.StreetViewStatus.ZERO_RESULTS;
446
- };
447
- StrokePosition: {
448
- [x: number]: string;
449
- readonly CENTER: google.maps.StrokePosition.CENTER;
450
- readonly INSIDE: google.maps.StrokePosition.INSIDE;
451
- readonly OUTSIDE: google.maps.StrokePosition.OUTSIDE;
452
- };
453
- StyledMapType: typeof google.maps.StyledMapType;
454
- SymbolPath: {
455
- [x: number]: string;
456
- readonly BACKWARD_CLOSED_ARROW: google.maps.SymbolPath.BACKWARD_CLOSED_ARROW;
457
- readonly BACKWARD_OPEN_ARROW: google.maps.SymbolPath.BACKWARD_OPEN_ARROW;
458
- readonly CIRCLE: google.maps.SymbolPath.CIRCLE;
459
- readonly FORWARD_CLOSED_ARROW: google.maps.SymbolPath.FORWARD_CLOSED_ARROW;
460
- readonly FORWARD_OPEN_ARROW: google.maps.SymbolPath.FORWARD_OPEN_ARROW;
461
- };
462
- TrafficLayer: typeof google.maps.TrafficLayer;
463
- TrafficModel: {
464
- readonly BEST_GUESS: google.maps.TrafficModel.BEST_GUESS;
465
- readonly OPTIMISTIC: google.maps.TrafficModel.OPTIMISTIC;
466
- readonly PESSIMISTIC: google.maps.TrafficModel.PESSIMISTIC;
467
- };
468
- TransitLayer: typeof google.maps.TransitLayer;
469
- TransitMode: {
470
- readonly BUS: google.maps.TransitMode.BUS;
471
- readonly RAIL: google.maps.TransitMode.RAIL;
472
- readonly SUBWAY: google.maps.TransitMode.SUBWAY;
473
- readonly TRAIN: google.maps.TransitMode.TRAIN;
474
- readonly TRAM: google.maps.TransitMode.TRAM;
475
- };
476
- TransitRoutePreference: {
477
- readonly FEWER_TRANSFERS: google.maps.TransitRoutePreference.FEWER_TRANSFERS;
478
- readonly LESS_WALKING: google.maps.TransitRoutePreference.LESS_WALKING;
479
- };
480
- TravelMode: {
481
- readonly BICYCLING: google.maps.TravelMode.BICYCLING;
482
- readonly DRIVING: google.maps.TravelMode.DRIVING;
483
- readonly TRANSIT: google.maps.TravelMode.TRANSIT;
484
- readonly WALKING: google.maps.TravelMode.WALKING;
485
- };
486
- UnitSystem: {
487
- [x: number]: string;
488
- readonly IMPERIAL: google.maps.UnitSystem.IMPERIAL;
489
- readonly METRIC: google.maps.UnitSystem.METRIC;
490
- };
491
- VehicleType: {
492
- readonly BUS: google.maps.VehicleType.BUS;
493
- readonly CABLE_CAR: google.maps.VehicleType.CABLE_CAR;
494
- readonly COMMUTER_TRAIN: google.maps.VehicleType.COMMUTER_TRAIN;
495
- readonly FERRY: google.maps.VehicleType.FERRY;
496
- readonly FUNICULAR: google.maps.VehicleType.FUNICULAR;
497
- readonly GONDOLA_LIFT: google.maps.VehicleType.GONDOLA_LIFT;
498
- readonly HEAVY_RAIL: google.maps.VehicleType.HEAVY_RAIL;
499
- readonly HIGH_SPEED_TRAIN: google.maps.VehicleType.HIGH_SPEED_TRAIN;
500
- readonly INTERCITY_BUS: google.maps.VehicleType.INTERCITY_BUS;
501
- readonly METRO_RAIL: google.maps.VehicleType.METRO_RAIL;
502
- readonly MONORAIL: google.maps.VehicleType.MONORAIL;
503
- readonly OTHER: google.maps.VehicleType.OTHER;
504
- readonly RAIL: google.maps.VehicleType.RAIL;
505
- readonly SHARE_TAXI: google.maps.VehicleType.SHARE_TAXI;
506
- readonly SUBWAY: google.maps.VehicleType.SUBWAY;
507
- readonly TRAM: google.maps.VehicleType.TRAM;
508
- readonly TROLLEYBUS: google.maps.VehicleType.TROLLEYBUS;
509
- };
510
- WebglOverlayView: typeof google.maps.WebglOverlayView;
511
- drawing: {
512
- DrawingManager: typeof google.maps.drawing.DrawingManager;
513
- OverlayType: {
514
- readonly CIRCLE: google.maps.drawing.OverlayType.CIRCLE;
515
- readonly MARKER: google.maps.drawing.OverlayType.MARKER;
516
- readonly POLYGON: google.maps.drawing.OverlayType.POLYGON;
517
- readonly POLYLINE: google.maps.drawing.OverlayType.POLYLINE;
518
- readonly RECTANGLE: google.maps.drawing.OverlayType.RECTANGLE;
519
- };
520
- };
521
- event: {
522
- addDomListener: typeof google.maps.event.addDomListener;
523
- addDomListenerOnce: typeof google.maps.event.addDomListenerOnce;
524
- addListener: typeof google.maps.event.addListener;
525
- addListenerOnce: typeof google.maps.event.addListenerOnce;
526
- clearInstanceListeners: typeof google.maps.event.clearInstanceListeners;
527
- clearListeners: typeof google.maps.event.clearListeners;
528
- removeListener: typeof google.maps.event.removeListener;
529
- trigger: typeof google.maps.event.trigger;
530
- };
531
- geometry: {
532
- encoding: {
533
- decodePath: typeof google.maps.geometry.encoding.decodePath;
534
- encodePath: typeof google.maps.geometry.encoding.encodePath;
535
- };
536
- poly: {
537
- containsLocation: typeof google.maps.geometry.poly.containsLocation;
538
- isLocationOnEdge: typeof google.maps.geometry.poly.isLocationOnEdge;
539
- };
540
- spherical: {
541
- computeArea: typeof google.maps.geometry.spherical.computeArea;
542
- computeDistanceBetween: typeof google.maps.geometry.spherical.computeDistanceBetween;
543
- computeHeading: typeof google.maps.geometry.spherical.computeHeading;
544
- computeLength: typeof google.maps.geometry.spherical.computeLength;
545
- computeOffset: typeof google.maps.geometry.spherical.computeOffset;
546
- computeOffsetOrigin: typeof google.maps.geometry.spherical.computeOffsetOrigin;
547
- computeSignedArea: typeof google.maps.geometry.spherical.computeSignedArea;
548
- interpolate: typeof google.maps.geometry.spherical.interpolate;
549
- };
550
- };
551
- localContext: {
552
- LocalContextMapView: typeof google.maps.localContext.LocalContextMapView;
553
- MapDirectionsOptions: typeof google.maps.localContext.MapDirectionsOptions;
554
- PlaceChooserLayoutMode: {
555
- readonly HIDDEN: google.maps.localContext.PlaceChooserLayoutMode.HIDDEN;
556
- readonly SHEET: google.maps.localContext.PlaceChooserLayoutMode.SHEET;
557
- };
558
- PlaceChooserPosition: {
559
- readonly BLOCK_END: google.maps.localContext.PlaceChooserPosition.BLOCK_END;
560
- readonly INLINE_END: google.maps.localContext.PlaceChooserPosition.INLINE_END;
561
- readonly INLINE_START: google.maps.localContext.PlaceChooserPosition.INLINE_START;
562
- };
563
- PlaceDetailsLayoutMode: {
564
- readonly INFO_WINDOW: google.maps.localContext.PlaceDetailsLayoutMode.INFO_WINDOW;
565
- readonly SHEET: google.maps.localContext.PlaceDetailsLayoutMode.SHEET;
566
- };
567
- PlaceDetailsPosition: {
568
- readonly INLINE_END: google.maps.localContext.PlaceDetailsPosition.INLINE_END;
569
- readonly INLINE_START: google.maps.localContext.PlaceDetailsPosition.INLINE_START;
570
- };
571
- };
572
- places: {
573
- Autocomplete: typeof google.maps.places.Autocomplete;
574
- AutocompleteResponse: typeof google.maps.places.AutocompleteResponse;
575
- AutocompleteService: typeof google.maps.places.AutocompleteService;
576
- AutocompleteSessionToken: typeof google.maps.places.AutocompleteSessionToken;
577
- BusinessStatus: {
578
- readonly CLOSED_PERMANENTLY: google.maps.places.BusinessStatus.CLOSED_PERMANENTLY;
579
- readonly CLOSED_TEMPORARILY: google.maps.places.BusinessStatus.CLOSED_TEMPORARILY;
580
- readonly OPERATIONAL: google.maps.places.BusinessStatus.OPERATIONAL;
581
- };
582
- PlacesService: typeof google.maps.places.PlacesService;
583
- PlacesServiceStatus: {
584
- readonly INVALID_REQUEST: google.maps.places.PlacesServiceStatus.INVALID_REQUEST;
585
- readonly NOT_FOUND: google.maps.places.PlacesServiceStatus.NOT_FOUND;
586
- readonly OK: google.maps.places.PlacesServiceStatus.OK;
587
- readonly OVER_QUERY_LIMIT: google.maps.places.PlacesServiceStatus.OVER_QUERY_LIMIT;
588
- readonly REQUEST_DENIED: google.maps.places.PlacesServiceStatus.REQUEST_DENIED;
589
- readonly UNKNOWN_ERROR: google.maps.places.PlacesServiceStatus.UNKNOWN_ERROR;
590
- readonly ZERO_RESULTS: google.maps.places.PlacesServiceStatus.ZERO_RESULTS;
591
- };
592
- RankBy: {
593
- [x: number]: string;
594
- readonly DISTANCE: google.maps.places.RankBy.DISTANCE;
595
- readonly PROMINENCE: google.maps.places.RankBy.PROMINENCE;
596
- };
597
- SearchBox: typeof google.maps.places.SearchBox;
598
- };
599
- version: string;
600
- visualization: {
601
- HeatmapLayer: typeof google.maps.visualization.HeatmapLayer;
602
- };
603
- } | null>;
195
+ map: import("vue").Ref<google.maps.Map | undefined>;
196
+ api: import("vue").Ref<typeof google.maps | undefined>;
604
197
  mapTilesLoaded: import("vue").Ref<boolean>;
605
198
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
606
199
  apiKey: string;
@@ -622,6 +215,7 @@ declare const _default: import("vue").DefineComponent<{
622
215
  streetViewControl: boolean;
623
216
  zoomControl: boolean;
624
217
  } & {
218
+ apiPromise?: Promise<typeof google> | undefined;
625
219
  region?: string | undefined;
626
220
  language?: string | undefined;
627
221
  backgroundColor?: string | undefined;
@@ -633,6 +227,7 @@ declare const _default: import("vue").DefineComponent<{
633
227
  heading?: number | undefined;
634
228
  mapTypeControlOptions?: google.maps.MapTypeControlOptions | undefined;
635
229
  mapTypeId?: string | undefined;
230
+ mapId?: string | undefined;
636
231
  maxZoom?: number | undefined;
637
232
  minZoom?: number | undefined;
638
233
  panControlPosition?: "BOTTOM_CENTER" | "BOTTOM_LEFT" | "BOTTOM_RIGHT" | "LEFT_BOTTOM" | "LEFT_CENTER" | "LEFT_TOP" | "RIGHT_BOTTOM" | "RIGHT_CENTER" | "RIGHT_TOP" | "TOP_CENTER" | "TOP_LEFT" | "TOP_RIGHT" | undefined;
@@ -9,7 +9,6 @@ declare const _default: import("vue").DefineComponent<{
9
9
  infoWindow: import("vue").Ref<google.maps.InfoWindow | undefined>;
10
10
  infoWindowRef: import("vue").Ref<HTMLElement | undefined>;
11
11
  hasSlotContent: import("vue").ComputedRef<boolean | undefined>;
12
- anchor: import("vue").Ref<google.maps.Marker | null>;
13
12
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
14
13
  options: google.maps.InfoWindowOptions;
15
14
  } & {}>, {
@@ -0,0 +1,15 @@
1
+ import { PropType } from "vue";
2
+ import { MarkerClustererOptions, MarkerClustererEvents } from "@googlemaps/markerclusterer";
3
+ declare const _default: import("vue").DefineComponent<{
4
+ options: {
5
+ type: PropType<MarkerClustererOptions>;
6
+ default: () => {};
7
+ };
8
+ }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
9
+ [key: string]: any;
10
+ }>[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, MarkerClustererEvents[], MarkerClustererEvents, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
11
+ options: MarkerClustererOptions;
12
+ } & {}>, {
13
+ options: MarkerClustererOptions;
14
+ }>;
15
+ export default _default;
@@ -6,7 +6,7 @@ declare const _default: import("vue").DefineComponent<{
6
6
  required: true;
7
7
  };
8
8
  }, {
9
- polygon: import("vue").Ref<import("../composables/useSetupMapComponent").IComponent | null>;
9
+ polygon: import("vue").Ref<google.maps.Polygon | undefined>;
10
10
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
11
11
  options: google.maps.PolygonOptions;
12
12
  } & {}>, {}>;
@@ -6,7 +6,7 @@ declare const _default: import("vue").DefineComponent<{
6
6
  required: true;
7
7
  };
8
8
  }, {
9
- polyline: import("vue").Ref<import("../composables/useSetupMapComponent").IComponent | null>;
9
+ polyline: import("vue").Ref<google.maps.Polyline | undefined>;
10
10
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
11
11
  options: google.maps.PolylineOptions;
12
12
  } & {}>, {}>;
@@ -6,7 +6,7 @@ declare const _default: import("vue").DefineComponent<{
6
6
  required: true;
7
7
  };
8
8
  }, {
9
- rectangle: import("vue").Ref<import("../composables/useSetupMapComponent").IComponent | null>;
9
+ rectangle: import("vue").Ref<google.maps.Rectangle | undefined>;
10
10
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
11
11
  options: google.maps.RectangleOptions;
12
12
  } & {}>, {}>;
@@ -6,3 +6,5 @@ export { default as Rectangle } from "./Rectangle";
6
6
  export { default as Circle } from "./Circle";
7
7
  export { default as CustomControl } from "./CustomControl.vue";
8
8
  export { default as InfoWindow } from "./InfoWindow.vue";
9
+ export { default as MarkerCluster } from "./MarkerCluster";
10
+ export { default as CustomMarker } from "./CustomMarker.vue";
@@ -1,5 +1,10 @@
1
1
  /// <reference types="google.maps" />
2
2
  import { Ref } from "vue";
3
- export declare type IComponent = google.maps.Marker | google.maps.Polyline | google.maps.Polygon | google.maps.Rectangle | google.maps.Circle;
4
- export declare type IComponentOptions = google.maps.MarkerOptions | google.maps.PolylineOptions | google.maps.PolygonOptions | google.maps.RectangleOptions | google.maps.CircleOptions;
5
- export declare const useSetupMapComponent: (componentName: "Marker" | "Polyline" | "Polygon" | "Rectangle" | "Circle", events: string[], options: Ref<IComponentOptions>, emit: (event: string, ...args: unknown[]) => void) => Ref<IComponent | null>;
3
+ import { customMarkerClassSymbol } from "../shared/index";
4
+ declare type ICtorKey = "Marker" | "Polyline" | "Polygon" | "Rectangle" | "Circle" | typeof customMarkerClassSymbol;
5
+ declare type IComponent<T> = T extends "Marker" ? google.maps.Marker : T extends "Polyline" ? google.maps.Polyline : T extends "Polygon" ? google.maps.Polygon : T extends "Rectangle" ? google.maps.Rectangle : T extends "Circle" ? google.maps.Circle : T extends typeof customMarkerClassSymbol ? InstanceType<typeof google.maps.CustomMarker> : never;
6
+ declare type IComponentOptions<T> = T extends "Marker" ? google.maps.MarkerOptions : T extends "Polyline" ? google.maps.PolylineOptions : T extends "Polygon" ? google.maps.PolygonOptions : T extends "Rectangle" ? google.maps.RectangleOptions : T extends "Circle" ? google.maps.CircleOptions : T extends typeof customMarkerClassSymbol ? google.maps.CustomMarkerOptions & {
7
+ element?: HTMLElement;
8
+ } : never;
9
+ export declare const useSetupMapComponent: <T extends ICtorKey>(ctorKey: T, events: string[], options: Ref<IComponentOptions<T>>, emit: (event: string, ...args: unknown[]) => void) => Ref<IComponent<T> | undefined>;
10
+ export {};
@@ -1,2 +1,3 @@
1
+ export * from "./shims-google-maps-d";
1
2
  export * from "./@types/index";
2
3
  export * from "./components/index";
@@ -1,44 +1,14 @@
1
1
  /// <reference types="google.maps" />
2
+ import type { MarkerClusterer } from "@googlemaps/markerclusterer";
2
3
  import { InjectionKey, Ref } from "vue";
3
- export declare const mapSymbol: InjectionKey<Ref<google.maps.Map | null>>;
4
- export declare const apiSymbol: InjectionKey<Ref<typeof google.maps | null>>;
5
- export declare const markerSymbol: InjectionKey<Ref<google.maps.Marker | null>>;
4
+ export declare const mapSymbol: InjectionKey<Ref<google.maps.Map>>;
5
+ export declare const apiSymbol: InjectionKey<Ref<typeof google.maps>>;
6
+ export declare const markerSymbol: InjectionKey<Ref<google.maps.Marker>>;
7
+ export declare const markerClusterSymbol: InjectionKey<Ref<MarkerClusterer>>;
8
+ export declare const customMarkerClassSymbol: "CustomMarker";
6
9
  /**
7
10
  * Utilitary flag for components that need to know the map
8
11
  * was fully loaded (including its tiles) to decide their behavior
9
12
  */
10
13
  export declare const mapTilesLoadedSymbol: InjectionKey<Ref<boolean>>;
11
- export declare const loaderInstance: Ref<{
12
- readonly version: string;
13
- readonly apiKey: string;
14
- readonly channel: string;
15
- readonly client: string;
16
- readonly id: string;
17
- readonly libraries: ("drawing" | "geometry" | "localContext" | "places" | "visualization")[];
18
- readonly language: string;
19
- readonly region: string;
20
- readonly mapIds: string[];
21
- readonly nonce: string | null;
22
- readonly retries: number;
23
- readonly url: string;
24
- readonly options: {
25
- apiKey: string;
26
- channel?: string | undefined;
27
- client?: string | undefined;
28
- version?: string | undefined;
29
- id?: string | undefined;
30
- libraries?: ("drawing" | "geometry" | "localContext" | "places" | "visualization")[] | undefined;
31
- language?: string | undefined;
32
- region?: string | undefined;
33
- mapIds?: string[] | undefined;
34
- url?: string | undefined;
35
- nonce?: string | undefined;
36
- retries?: number | undefined;
37
- };
38
- createUrl: () => string;
39
- deleteScript: () => void;
40
- load: () => Promise<typeof google>;
41
- loadPromise: () => Promise<typeof google>;
42
- loadCallback: (fn: (e: ErrorEvent) => void) => void;
43
- } | null>;
44
14
  export declare const polylineEvents: string[];
@@ -0,0 +1,15 @@
1
+ /// <reference types="google.maps" />
2
+ import { createCustomMarkerClass } from "./utils";
3
+ declare global {
4
+ namespace google.maps {
5
+ interface CustomMarkerOptions {
6
+ position?: google.maps.MarkerOptions["position"];
7
+ map?: google.maps.Map | google.maps.StreetViewPanorama | null;
8
+ anchorPoint?: "CENTER" | "TOP_CENTER" | "BOTTOM_CENTER" | "LEFT_CENTER" | "RIGHT_CENTER" | "TOP_LEFT" | "TOP_RIGHT" | "BOTTOM_LEFT" | "BOTTOM_RIGHT";
9
+ offsetX?: number;
10
+ offsetY?: number;
11
+ zIndex?: number | null;
12
+ }
13
+ let CustomMarker: ReturnType<typeof createCustomMarkerClass>;
14
+ }
15
+ }
@@ -0,0 +1,13 @@
1
+ /// <reference types="google.maps" />
2
+ declare type ICustomMarkerInterface = google.maps.OverlayView & {
3
+ getPosition(): google.maps.LatLng | null;
4
+ getVisible(): boolean;
5
+ setOptions(options: google.maps.CustomMarkerOptions): void;
6
+ };
7
+ interface ICustomMarkerCtor {
8
+ new (opts: google.maps.CustomMarkerOptions & {
9
+ element?: HTMLElement;
10
+ }): ICustomMarkerInterface;
11
+ }
12
+ export declare function createCustomMarkerClass(api: typeof google.maps): ICustomMarkerCtor;
13
+ export {};