【发布时间】:2020-10-19 16:32:39
【问题描述】:
我一直在使用 Google Maps JavaScript API 通过 GeoJSON 绘制复杂的多面体,偶尔我注意到一些“洞”被遮住了。我怀疑我的代码生成了一些格式不正确的 GeoJSON(例如,具有相同绕组的外环和内环方向)所以我尝试通过将其缩小为单个多边形并删除几乎所有顶点来简化形状:结果如下所示。
我看不出 GeoJSON 有什么问题,但孔的阴影颜色与多边形的其余部分相同。我已经在 macOS 上的 Chrome 和 Firefox 以及 Windows 上的 Chrome 上进行了测试。
我认为(尽管我的眼睛/记忆可能在耍花招)这个问题是间歇性的,即如果我刷新地图,洞有时会正确渲染。但是,我现在无法重现。
谁能看到我哪里出错了,或者以前有没有人在 Google 地图中遇到过这样的错误?
let map;
function initMap() {
map = new google.maps.Map(document.getElementById("map"), {
zoom: 6,
center: {
lat: 47,
lng: -120
},
});
map.data.addGeoJson({
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[-124.125, 46.125],
[-124.125, 45.125],
[-119.875, 46.625],
[-119.875, 48.875],
[-124.125, 48.875],
[-124.125, 46.125]
],
[
[-122.375, 47.125],
[-122.375, 46.875],
[-122.625, 46.875],
[-122.625, 47.125],
[-122.375, 47.125]
]
]
}
}]
});
}
#map {
height: 100%;
}
html,
body {
height: 100%;
margin: 0;
padding: 0;
}
<!DOCTYPE html>
<html>
<head>
<title>Data Layer: Simple</title>
<script src="https://maps.googleapis.com/maps/api/js?callback=initMap&libraries=&v=weekly&key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk" defer></script>
</head>
<body>
<div id="map"></div>
</body>
</html>
【问题讨论】:
标签: javascript google-maps google-maps-api-3 geojson