我有一个地图编辑器,可以让用户绘制和修改多边形。可以在多边形内部绘制多边形以创建“孔”。
我面临的问题是在地图上绘制内部多边形并保存地图数据之后 - 地图在页面刷新时变得混乱。即使 GeoJSON 正确,地图也不会显示原始形状。我怀疑该addfeature事件没有正确处理内部和外部多边形。
如何修复才能addfeature正确显示保存的地图数据?
预期输出:

实际输出:

更新:我已经尝试过这个,它部分有效,但它切断了多边形数据。我添加了另一层来查看原始形状:
//When the data is loaded from the geojson it is processed here
map.data.addListener('addfeature', function(e) {
//center map
processPoints(e.feature.getGeometry(), bounds.extend, bounds);
map.fitBounds(bounds);
//check for polygon in case we do other shapes
if (e.feature.getGeometry().getType() == "Polygon") {
// lat/lng array
let _map_d = []
e.feature.getGeometry().forEachLatLng(function(latLngArry) {
// populate array
_map_d.push(latLngArry);
});
//Create a polygon with the lat long array
let polygon = new google.maps.Polygon({
map: map,
paths: _map_d, …Run Code Online (Sandbox Code Playgroud)