在Google Maps API上删除GeoJSON绘制多边形中的轮廓并增加不透明度

时间:2018-03-26 22:55:06

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

我正在研究利用Google Maps API使用GeoJSON绘制n个多边形的内容。我成功地绘制了它,但我也希望增加绘制的多边形的opacity,并删除每个多边形上的丑陋轮廓。

我浏览了Google Maps API here上的文档,但它只告诉您如何加载GeoJSON文件,而不是修改绘制多边形的特征。

map.data.loadGeoJson('google.json');

这就是你如何加载GeoJSON以及你可以使用的唯一命令。我知道我似乎没有尝试任何东西,但我已经并且没有足够的内容可以包含在这个问题中。

所以我的问题是 - 如何从GeoJSON绘制的图像中删除轮廓并增加不透明度?

下面是目前的图片:

Image of what it currently looks like

1 个答案:

答案 0 :(得分:2)

在样式选项中使用fillOpacity: 1strokeWeight: 0

https://plnkr.co/edit/puMK8mAskLiaExmNKIEI?p=preview

<!DOCTYPE html>
<html>
  <head>
    <title>Data Layer: Styling</title>
    <meta name="viewport" content="initial-scale=1.0">
    <meta charset="utf-8">
    <style>
      /* Always set the map height explicitly to define the size of the div
       * element that contains the map. */
      #map {
        height: 100%;
      }
      /* Optional: Makes the sample page fill the window. */
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>
    <script>

      var map;
      function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
          zoom: 4,
          center: {lat: -28, lng: 137}
        });

        // Load GeoJSON.
        map.data.loadGeoJson(
            'https://storage.googleapis.com/mapsdevsite/json/google.json');

        // Set the stroke width, and fill color for each polygon
        map.data.setStyle(function(feature) {
          var color = feature.getProperty('color');
          return {
            fillColor: color,
            fillOpacity: 1,
            strokeWeight: 0
          };
        });
      }
    </script>
    <script async defer
    src="https://maps.googleapis.com/maps/api/js?callback=initMap">
    </script>
  </body>
</html>