leaflet限制地圖拖動範圍

工作中,有的地圖服務,整體範圍不是很大,導致訪問服務,漫遊拖動時,有把地圖拖到地圖範圍外的現象。

爲了方便用戶交互體驗,對地圖服務的拖拽範圍進行限制。


地圖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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章