如何在任何开源地图(如 maptalks)上仅显示确切区域?
How to display only exact region on any open-source map (like maptalks)?
我只需要在地图上显示一个区域。例如阿拉斯加或纽约市。
您可以找到您的区域边界并设置地图以限制平移。
请看下面的示例:
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);
});
你也可以使用这个link:https://jsfiddle.net/cse_tushar/9d4jy4ye/
此解决方案与许多 js 库相关。
1. 通过nominatim.openstreetmap.org API 以geojson 格式获取边界。
2. 在 [base]layer
上设置 polygon/multipolygon mask
我只需要在地图上显示一个区域。例如阿拉斯加或纽约市。
您可以找到您的区域边界并设置地图以限制平移。 请看下面的示例:
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);
});
你也可以使用这个link:https://jsfiddle.net/cse_tushar/9d4jy4ye/
此解决方案与许多 js 库相关。 1. 通过nominatim.openstreetmap.org API 以geojson 格式获取边界。 2. 在 [base]layer
上设置 polygon/multipolygon mask