【问题标题】:Google Maps API Solid State Borders谷歌地图 API 固态边界
【发布时间】:2019-04-19 14:46:13
【问题描述】:

在创建地图时,州边界会不断以虚线出现。有什么方法可以让它们变得坚固吗?我正在使用 json 中的省份设置,但我似乎找不到实线指令,也许在 .stroke 中?

【问题讨论】:

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


    【解决方案1】:

    如果你不能用Styled Maps 做到这一点(我不知道你现在怎么做),你可以使用 Styled Maps 来隐藏州边界:

     {
        featureType: 'administrative.province',
        elementType: 'geometry.stroke',
        stylers: [{visibility: '#off'}]
      },
    

    然后添加您自己的(请注意,您需要一个与地图图块有些一致的边界来源)。

    使用 FusionTable 中的边框的示例

    proof of concept fiddle

    proof of concept fiddle with styled borders

    代码 sn-p:

    function initMap() {
      // Styles a map in night mode.
      var map = new google.maps.Map(document.getElementById('map'), {
        center: {
          lat: 40.674,
          lng: -73.945
        },
        zoom: 7,
        styles: [{
          featureType: 'administrative.province',
          elementType: 'geometry.stroke',
          stylers: [{
            visibility: '#off'
          }]
        }, ]
      });
      var layer = new google.maps.FusionTablesLayer({
        query: {
          select: 'kml_4326',
          from: '19lLpgsKdJRHL2O4fNmJ406ri9JtpIIk8a-AchA'
        },
        map: map
      });
    }
    html,
    body,
    #map {
      height: 100%;
      width: 100%;
      margin: 0;
      padding: 0;
    }
    <div id="map"></div>
    <!-- Replace the value of the key parameter with your own API key. -->
    <script async defer src="https://maps.googleapis.com/maps/api/js?callback=initMap"></script>

    【讨论】:

    • 这太棒了!我从未听说过融合表。如果我想让边框更厚更蓝怎么办?这是我需要的最后一件事。否则就完美了。
    • 您可以在 FusionTables 中设置折线的样式。 (fiddle) 更新了答案,包括一个带有厚蓝色州边界的小提琴。
    • 对于希望在未来使用此解决方案的任何人:Google 将于 2019 年 12 月 3 日关闭融合表层。developers.google.com/maps/documentation/javascript/examples/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 2017-11-30
    • 2012-09-12
    相关资源
    最近更新 更多