mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-09-10 11:40:16 +08:00
Add missing Google Maps Data Layer API
Fixes #2249. - Add a `data` property to the `Map` class. - Add Google Maps test file and Data Layer API tests. - Add the following classes and interfaces which form the Data Layer API: - `Data` - `Data.DataOptions` - `Data.GeoJsonOptions` - `Data.StyleOptions` - `Data.StylingFunction` - `Data.Feature` - `Data.FeatureOptions` - `Data.Geometry` - `Data.Point` - `Data.MultiPoint` - `Data.LineString` - `Data.MultiLineString` - `Data.LinearRing` - `Data.Polygon` - `Data.MultiPolygon` - `Data.GeometryCollection` - `Data.MouseEvent` - `Data.AddFeatureEvent` - `Data.RemoveFeatureEvent` - `Data.SetGeometryEvent` - `Data.SetPropertyEvent` - `Data.RemovePropertyEvent`
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
// Test file for Google Maps JavaScript API Definition file
|
||||
/// <reference path="google.maps.d.ts" />
|
||||
|
||||
var map = new google.maps.Map(document.querySelector("☺"));
|
||||
|
||||
/***** Data *****/
|
||||
|
||||
new google.maps.Data();
|
||||
new google.maps.Data({ map: map });
|
||||
|
||||
var latLng = new google.maps.LatLng(52.201203, -1.724370),
|
||||
feature = new google.maps.Data.Feature(),
|
||||
geometry = new google.maps.Data.Geometry();
|
||||
|
||||
var data = map.data;
|
||||
|
||||
data.add(feature);
|
||||
|
||||
data.add({
|
||||
geometry: latLng,
|
||||
id: "Test feature",
|
||||
properties: {}
|
||||
});
|
||||
|
||||
var isIn: boolean = map.data.contains(feature);
|
||||
|
||||
data.forEach((feature: google.maps.Data.Feature) => {
|
||||
console.log(feature.getId());
|
||||
});
|
||||
|
||||
var map: google.maps.Map = data.getMap();
|
||||
data.setMap(map);
|
||||
|
||||
var style = data.getStyle();
|
||||
data.setStyle(style);
|
||||
|
||||
data.setStyle({
|
||||
clickable: true,
|
||||
cursor: "pointer",
|
||||
fillColor: "#79B55B",
|
||||
fillOpacity: 1,
|
||||
icon: {},
|
||||
shape: { coords: [1, 2, 3], type: "circle" },
|
||||
strokeColor: "#79B55B",
|
||||
strokeOpacity: 1,
|
||||
strokeWeight: 1,
|
||||
title: "string",
|
||||
visible: true,
|
||||
zIndex: 1
|
||||
});
|
||||
|
||||
data.overrideStyle(feature, { visible: true });
|
||||
|
||||
data.revertStyle(feature);
|
||||
|
||||
data.addGeoJson({});
|
||||
data.addGeoJson({}, { idPropertyName: "Test feature" });
|
||||
|
||||
data.loadGeoJson("http://magicGeoJsonSource.com");
|
||||
|
||||
data.loadGeoJson(
|
||||
"http://magicGeoJsonSource.com",
|
||||
{ idPropertyName: "test" });
|
||||
|
||||
data.loadGeoJson(
|
||||
"http://magicGeoJsonSource.com",
|
||||
{ idPropertyName: "test" },
|
||||
(features) => {
|
||||
for (var i = 0, len = features.length; i < len; i++) {
|
||||
console.log(features[i].getId());
|
||||
}
|
||||
});
|
||||
|
||||
data.toGeoJson((feature) => { });
|
||||
|
||||
var dataMouseEvent: google.maps.Data.MouseEvent = {
|
||||
feature: feature,
|
||||
latLng: latLng,
|
||||
stop: (): void => {}
|
||||
};
|
||||
|
||||
var addFeatureEvent : google.maps.Data.AddFeatureEvent = {
|
||||
feature: feature
|
||||
};
|
||||
|
||||
var removeFeatureEvent: google.maps.Data.RemoveFeatureEvent = {
|
||||
feature: feature
|
||||
};
|
||||
|
||||
var setGeometryEvent: google.maps.Data.SetGeometryEvent = {
|
||||
feature: feature,
|
||||
newGeometry: geometry,
|
||||
oldGeometry: geometry,
|
||||
};
|
||||
|
||||
var setPropertyEvent: google.maps.Data.SetPropertyEvent = {
|
||||
feature: feature,
|
||||
name: "test",
|
||||
newValue: {},
|
||||
oldValue: {}
|
||||
};
|
||||
|
||||
var removePropertyEvent: google.maps.Data.RemovePropertyEvent = {
|
||||
feature: feature,
|
||||
name: "test",
|
||||
oldValue: {}
|
||||
};
|
||||
Reference in New Issue
Block a user