Google maps api 3 谷歌地图v3数据功能可编辑?
我有多边形加载使用的方法Google maps api 3 谷歌地图v3数据功能可编辑?,google-maps-api-3,geojson,Google Maps Api 3,Geojson,我有多边形加载使用的方法 map.data.loadGeoJson('geo.json',{ idPropertyName: 'ID' }); 现在,我想制作一个从geojson多边形加载的可编辑多边形 我被审判: map.data.getFeatureById(1).setProperty('editable', true); 但是data.feature似乎没有可编辑属性 有没有办法用最简单的方法制作? 我现在唯一的想法就是用geoJson制作我自己的解析器,并将所有形状绘制成googl
map.data.loadGeoJson('geo.json',{ idPropertyName: 'ID' });
现在,我想制作一个从geojson多边形加载的可编辑多边形
我被审判:
map.data.getFeatureById(1).setProperty('editable', true);
但是data.feature似乎没有可编辑属性
有没有办法用最简单的方法制作?
我现在唯一的想法就是用geoJson制作我自己的解析器,并将所有形状绘制成google.maps.Polygon()。也许这不是最好的解决方案,但它现在对我来说很管用。 我正在从特征复制形状几何体,并在适当的位置创建新的多边形
var shape = [];
for (var i = 0; i < map.data.getFeatureById(ID).getGeometry().getLength(); i++) {
var shapeData = map.data.getFeatureById(ID).getGeometry().getAt(i).getArray();
shape.push(shapeData);
}
nowEditingShape = new google.maps.Polygon({
paths: shape,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35,
editable: true
});
map.data.remove(map.data.getFeatureById(ID));
nowEditingShape.setMap(map);
var-shape=[];
对于(var i=0;i
我认为这是最简单的方法:
map.data.overrideStyle(map.data.getFeatureById(1), { editable: true });
此工具的零件代码
完整的编辑器代码:我找到了一个解决方案。也许它不是最好的,但现在它解决了我的问题。你试过
map.data.getFeatureById(1).setStyle({editable:true})
?你读过我的问题吗?您的解决方案没有为data.Feature设置可编辑属性。
map.data.overrideStyle(map.data.getFeatureById(1), { editable: true });
// Initialise the map.
map = new google.maps.Map(document.getElementById('map-holder'), {
center: {lat: 0, lng: 0},
zoom: 3
});
map.data.setControls(['Point', 'LineString', 'Polygon']);
map.data.setStyle({
editable: true,
draggable: true
});