首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌地图显示省线

谷歌地图显示省线
EN

Stack Overflow用户
提问于 2016-08-17 11:19:03
回答 1查看 2.7K关注 0票数 0

我对使用谷歌地图有点困惑。

我想用国家和省线绘制地图。我使用手写笔来创建这一行。我想要创建这样的东西(我已经在将屏幕从7放大到6):

但我只能做到这一点:

要获得省线,我必须放大7级(我不能看到整个波兰),但我想显示在所有级别的缩放(以上7-6,5等)。

我的手写笔片段:

代码语言:javascript
复制
styles:[
  {
    "featureType": "administrative",
    "elementType": "labels.text",
    "stylers": [
      {
        "visibility": "off"
      }
    ]
  },
  {
    "featureType": "administrative.province",
    "elementType": "geometry.stroke",
    "stylers": [
      {
        "invert_lightness": true
      },
      {
        "visibility": "on"
      }
    ]
  },
  {
    "featureType": "landscape",
    "elementType": "geometry",
    "stylers": [
      {
        "visibility": "off"
      }
    ]
  },
  {
    "featureType": "landscape",
    "elementType": "labels",
    "stylers": [
      {
        "visibility": "off"
      }
    ]
  },
  {
    "featureType": "landscape.man_made",
    "elementType": "geometry",
    "stylers": [
      {
        "visibility": "off"
      }
    ]
  },
  {
    "featureType": "landscape.natural.landcover",
    "elementType": "geometry",
    "stylers": [
      {
        "visibility": "on"
      }
    ]
  },
  {
    "featureType": "poi",
    "elementType": "geometry",
    "stylers": [
      {
        "visibility": "off"
      }
    ]
  },
  {
    "featureType": "poi",
    "elementType": "labels",
    "stylers": [
      {
        "visibility": "off"
      }
    ]
  },
  {
    "featureType": "road",
    "elementType": "all",
    "stylers": [
      {
        "visibility": "off"
      }
    ]
  },
  {
    "featureType": "transit",
    "elementType": "geometry",
    "stylers": [
      {
        "visibility": "off"
      }
    ]
  },
  {
    "featureType": "transit",
    "elementType": "labels",
    "stylers": [
      {
        "visibility": "off"
      }
    ]
  },
  {
    "featureType": "water",
    "elementType": "geometry",
    "stylers": [
      {
        "visibility": "on"
      }
    ]
  },
  {
    "featureType": "water",
    "elementType": "labels",
    "stylers": [
      {
        "visibility": "on"
      }
    ]
  }
]

小提琴演示当前行为

EN

回答 1

Stack Overflow用户

发布于 2016-08-17 13:32:36

你不能用造型来改变瓷砖的行为。如果省边界不在缩放级别6的瓷砖上,则不能对其进行样式设计。最好的选择是从其他数据源(如)获取缩放级别6的省边界,然后将它们隐藏在缩放级别6之上。

相关问题:谷歌地图V3:绘制德国国家多边形?

概念小提琴的证明

代码片段:

代码语言:javascript
复制
var geocoder;
var map;

function initialize() {
  map = new google.maps.Map(
    document.getElementById("map_canvas"), {
      center: new google.maps.LatLng(37.4419, -122.1419),
      zoom: 5,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      styles: styles
    });
  var FT_TableID = 420419;
  var FT_Query = "SELECT 'kml_4326' FROM " + FT_TableID + " WHERE 'name_0' = 'Poland';";
  var FT_Options = {
    suppressInfoWindows: true,
    query: FT_Query
  };
  var boundaries = new google.maps.FusionTablesLayer(FT_TableID, FT_Options);
  boundaries.setMap(map);
  google.maps.event.addListener(map, 'zoom_changed', function() {
    if ((map.getZoom() > 6) || (map.getZoom() < 2)) {
      boundaries.setMap(null);
    } else {
      boundaries.setMap(map);
    }
    document.getElementById('zoom').innerHTML = "zoom= " + map.getZoom();
  });
  geocoder = new google.maps.Geocoder();
  geocoder.geocode({
    'address': "Poland"
  }, function(results, status) {
    if (status === 'OK') {
      map.fitBounds(results[0].geometry.viewport);
    } else {
      alert('Geocode was not successful for the following reason: ' + status);
    }
  });

}
google.maps.event.addDomListener(window, "load", initialize);
var styles = [{
  "featureType": "administrative",
  "elementType": "labels.text",
  "stylers": [{
    "visibility": "off"
  }]
}, {
  "featureType": "administrative.province",
  "elementType": "geometry.stroke",
  "stylers": [{
    "invert_lightness": true
  }, {
    "visibility": "on"
  }]
}, {
  "featureType": "landscape",
  "elementType": "geometry",
  "stylers": [{
    "visibility": "off"
  }]
}, {
  "featureType": "landscape",
  "elementType": "labels",
  "stylers": [{
    "visibility": "off"
  }]
}, {
  "featureType": "landscape.man_made",
  "elementType": "geometry",
  "stylers": [{
    "visibility": "off"
  }]
}, {
  "featureType": "landscape.natural.landcover",
  "elementType": "geometry",
  "stylers": [{
    "visibility": "on"
  }]
}, {
  "featureType": "poi",
  "elementType": "geometry",
  "stylers": [{
    "visibility": "off"
  }]
}, {
  "featureType": "poi",
  "elementType": "labels",
  "stylers": [{
    "visibility": "off"
  }]
}, {
  "featureType": "road",
  "elementType": "all",
  "stylers": [{
    "visibility": "off"
  }]
}, {
  "featureType": "transit",
  "elementType": "geometry",
  "stylers": [{
    "visibility": "off"
  }]
}, {
  "featureType": "transit",
  "elementType": "labels",
  "stylers": [{
    "visibility": "off"
  }]
}, {
  "featureType": "water",
  "elementType": "geometry",
  "stylers": [{
    "visibility": "on"
  }]
}, {
  "featureType": "water",
  "elementType": "labels",
  "stylers": [{
    "visibility": "on"
  }]
}];
代码语言:javascript
复制
html,
body,
#map_canvas {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
代码语言:javascript
复制
<script src="https://maps.googleapis.com/maps/api/js?libraries=geometry,places&ext=.js"></script>
<div id="zoom"></div>
<div id="map_canvas"></div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38995193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档