我正在创建一个自定义 map ,以将特定国家/地区着色。我正在使用新的数据驱动样式。大多数国家都很好,但世界上似乎有五个国家我无法着色:俄罗斯、乌克兰、阿根蒂纳、智利、印度。
注意:最终结果不会将所有国家/地区都着色,只会将选定的国家/地区着色,并且该选择包括乌克兰和印度。在测试过程中,我发现另外 3 个国家/地区我无法访问。
我创建了一个示例,其中显示了除上述五个国家之外的所有国家/地区。我已经从要素图层循环中输出了 feature.displayName ,并且从未访问过缺少的五个来尝试和样式,因此它们在我的国家/地区列表中这一事实并不重要。我查看了循环中的所有输出国家/地区,看看这些国家/地区是否有一些替代名称或拼写。
示例代码笔:https://codepen.io/gobananas/pen/vYjOJEZ
const countries_all = ["Chile", "Russia", "Argentina", "India", "Ukraine"];
function initMap() {
let featureLayer;
let map;
map = new google.maps.Map(document.getElementById('mapbox'), {
center: { lat: 16.6310, lng: 66.76005 },
zoom: 2,
mapId: 'a8540ac9b4094555',
});
// Add a feature layer for localities.
featureLayer = map.getFeatureLayer(google.maps.FeatureType.COUNTRY);
featureLayer.style = (placeFeature) => {
if (countries_all.includes(placeFeature.feature.displayName)) {
return {fillColor: '#007DB3', fillOpacity: 0.8}
}
}
}
最佳答案
该文档包括 Google boundaries coverage viewer其中明确指出,对于某些国家/地区,国家边界不可用。
今天,不可用的国家/地区包括:
- 阿根廷
- 阿塞拜疆
- 智利
- 印度
- 俄罗斯
- 乌克兰
Disputed territories诸如西撒哈拉、克里米亚、加沙地带等也以不同的造型出现。
数据驱动样式仍处于测试阶段。虽然文件中并不清楚为什么有些国家不可用,但很明显它们都与领土争端有关。
关于javascript - Google map - 数据驱动样式 - 要素图层中缺少国家/地区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73616871/