删除谷歌地图的DataLayer顶点
Delete google maps DataLayer vertex
我如何删除一个顶点(多边形点)在谷歌地图加载loadGeoJson的数据层?
http://output.jsbin.com/tuyived我想通过右键单击白色圆圈来删除单个顶点(例如,来自googLe的L的左上角)
你可以用下面的代码片段删除所有的
map.data.forEach(function(feature) {
//If you want, check here for some constraints.
map.data.remove(feature);
});
参考:删除数据层的所有特征
编辑:如果你想只删除点击的顶点,这有点棘手,但我可以通过以下点击处理程序来完成:
map.data.addListener('click', function(ev) {
//array to hold all LatLng in the new polygon, except the clicked one
var newPolyPoints = [];
//iterating over LatLng in features geometry
ev.feature.getGeometry().forEachLatLng(function(latlng) {
//excluding the clicked one
if (latlng.lat() == ev.latLng.lat() && latlng.lng() == ev.latLng.lng()) {
console.log('This one will be removed: lat: ' + latlng.lat() + ', lng: ' + latlng.lng());
} else {
//keeping not matching LatLng
newPolyPoints.push(latlng);
}
});
//creating new linear ring
var newLinearRing = new google.maps.Data.LinearRing(newPolyPoints);
//creating a new polygon out of the new linear ring
var newPoly = new google.maps.Data.Polygon([newLinearRing]);
//apply the new polygon to the clicked feature
ev.feature.setGeometry(newPoly);
});
你可能需要根据你的需要/你的数据结构来调整它。它适用于所提供的结构。
希望这次能有所帮助;)
相关文章:
- Three.js保存修改后的网格顶点r67
- 将标签添加到轴助手 - 无法获取四肢顶点
- 音频上下文的顶点置换(THRE.JS R76)
- 使用THRE.Frustum计算近/远平面顶点
- dataLayer.push() 返回值含义
- 谷歌跟踪代码管理器使用什么模式来观察 de 'dataLayer' 数组
- 避免顶点拖动映射api v3
- 基于球体顶点ThreeJs创建形状
- webGL,javascript:尝试访问属性1中超出范围的顶点
- 如何访问dataLayer变量
- Three.js:使用变形目标获取更新的顶点
- OpenLayers ModifyFeature未保存新顶点
- 在Three.js中为几何体中的顶点指定颜色
- 在threejs中调整每个顶点的线的颜色
- 修改顶点/位置后,three.js中的网格相交
- three.js为几何体中的每个顶点指定不同的颜色(渐变)
- 如何在three.js中获取顶点的绝对位置
- 我应该何时在WebGL/OOpenGL中启用/禁用顶点位置属性
- 更新顶点几何体Threejs
- 删除谷歌地图的DataLayer顶点