diff --git a/types/googlemaps/googlemaps-tests.ts b/types/googlemaps/googlemaps-tests.ts index fd7d6057b7..6eccc81f4d 100644 --- a/types/googlemaps/googlemaps-tests.ts +++ b/types/googlemaps/googlemaps-tests.ts @@ -153,6 +153,14 @@ var removePropertyEvent: google.maps.Data.RemovePropertyEvent = { oldValue: {} }; +var lineString = new google.maps.Data.LineString([ { lat: 52.201203, lng: -1.724370 }, { lat: 52.201203, lng: -2.724370 }]); +lineString.forEachLatLng(latLng => console.log(`${latLng.lat} ${latLng.lng}`)); + +data.setDrawingMode('LineString'); +data.setDrawingMode(null); + +data.setControls(['Point', 'Polygon']); +data.setControls(null); /***** Overlays *****/ diff --git a/types/googlemaps/index.d.ts b/types/googlemaps/index.d.ts index 2fea0028b8..8fc613a426 100644 --- a/types/googlemaps/index.d.ts +++ b/types/googlemaps/index.d.ts @@ -361,6 +361,8 @@ declare namespace google.maps { TOP_RIGHT } + type DrawingMode = 'Point' | 'LineString' | 'Polygon'; + /***** Data *****/ export class Data extends MVCObject { constructor(options?: Data.DataOptions); @@ -369,8 +371,8 @@ declare namespace google.maps { contains(feature: Data.Feature): boolean; forEach(callback: (feature: Data.Feature) => void): void; getControlPosition(): ControlPosition; - getControls(): string[]; - getDrawingMode(): string; + getControls(): DrawingMode[]; + getDrawingMode(): DrawingMode | null; getFeatureById(id: number|string): Data.Feature; getMap(): Map; getStyle(): Data.StylingFunction|Data.StyleOptions; @@ -379,8 +381,8 @@ declare namespace google.maps { remove(feature: Data.Feature): void; revertStyle(feature?: Data.Feature): void; setControlPosition(controlPosition: ControlPosition): void; - setControls(controls: string[]): void; - setDrawingMode(drawingMode: string): void; + setControls(controls: DrawingMode[] | null): void; + setDrawingMode(drawingMode: DrawingMode | null): void; setMap(map: Map | null): void; setStyle(style: Data.StylingFunction|Data.StyleOptions): void; toGeoJson(callback: (feature: Object) => void): void; @@ -439,6 +441,7 @@ declare namespace google.maps { export class Geometry { getType(): string; + forEachLatLng(callback: (latLng: LatLng) => void): void; } export class Point extends Data.Geometry {