javascript - Google map - 数据驱动样式 - 要素图层中缺少国家/地区

标签 javascript google-maps google-maps-api-3

我正在创建一个自定义 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/

相关文章:

javascript - 从谷歌地图中删除折线

google-maps - 如何使用 Google Maps API 有选择地突出显示或设计公交线路、地铁线路等?

java - 如何启用 map 旋转?

javascript - jQuery 委托(delegate)还是函数方法?

javascript - 子数组上的 ng-repeat 不起作用?

javascript - 从另一个模块导入会抛出错误

Android 谷歌地图 API :Force Close Error

javascript - 谷歌地图功能

google-maps - 带有邮政信箱的 Google Places 自动填写地址表?

javascript - AJAX - 如何加载 javascript 代码而不是 html?