如何仅在地图上显示确切区域?

时间:2019-04-08 11:20:22

标签: javascript google-maps maps openstreetmap

我只需要在地图上显示一个区域。例如阿拉斯加或纽约。

2 个答案:

答案 0 :(得分:0)

此解决方案与许多js库相关。 1.通过nominatim.openstreetmap.org API以geojson格式获取边界。 2.在[基本]图层上设置多边形/多面罩

答案 1 :(得分:-1)

您可以找到自己的区域边界,并将地图设置为限制平移。 看下面的示例:

var allowedBounds = new google.maps.LatLngBounds(
 new google.maps.LatLng(70.33956792419954, 178.01171875), 
 new google.maps.LatLng(83.86483689701898, -88.033203125)
);
var lastValidCenter = map.getCenter();

google.maps.event.addListener(map, 'center_changed', function() {
   if (allowedBounds.contains(map.getCenter())) {
       // still within valid bounds, so save the last valid position
       lastValidCenter = map.getCenter();
       return; 
   }

   // not valid anymore => return to last valid position
   map.panTo(lastValidCenter);
});

您还可以使用此链接:https://jsfiddle.net/cse_tushar/9d4jy4ye/