工作中,有的地圖服務,整體範圍不是很大,導致訪問服務,漫遊拖動時,有把地圖拖到地圖範圍外的現象。
爲了方便用戶交互體驗,對地圖服務的拖拽範圍進行限制。
地圖api: leaflet version1.0.3
地圖服務:arcgis10.2
主要代碼如下:
引入leaflet js、css
<link rel="stylesheet" href="leaflet.css">
<script src="leaflet-src.js"></script>
<div id="map"></div>
<div id="coords"></div>
<script>
var corner1 = L.latLng(latitude, longitude), //設置左上角經緯度
var corner2 = L.latLng(latitude, longitude), //設置右下點經緯度
var bounds = L.latLngBounds(corner1, corner2); //構建視圖限制範圍
var map = L.map('map',{
crs: L.CRS.EPSG3857, //wgs1984座標系
maxBounds: bounds
});
map.setView([39.9, 116.39], 17); //設置地圖中心點,zoom縮放級別
L.esri.tiledMapLayer({
url: "https://"+服務器ip+":6080/ArcGIS/rest/services/myMap/MapServer" //地圖切片服務的訪問地址
minZonm: 15,
maxZomm: 21,
... //其他設置項
}).addTo(map);
map.on('mousemove',function(e){
var $coords = document.getElementById("coords");
$coords.innerHTML("經緯:"+e.latlng.lng.toFix(4)+",緯度"+e.latlng.lat.toFix(4));
});
</script>