다음 코드는 전단지 맵을 초기화합니다. initialize 함수는 사용자 위치를 기반으로지도를 중앙에 배치합니다. initialize 함수를 호출 한 후지도의 중심을 새 위치로 변경하려면 어떻게해야합니까?
function initialize() {
map = L.map('map');
L.tileLayer('http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/997/256/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>'
}).addTo(map);
map.locate({setView: true, maxZoom: 8});
}
답변
예를 들면 :
map.panTo(new L.LatLng(40.737, -73.923));
답변
다음을 사용할 수도 있습니다.
map.setView(new L.LatLng(40.737, -73.923), 8);
그것은 당신이 원하는 행동에 달려 있습니다. map.panTo()
확대 / 축소 / 이동 애니메이션을 사용하여 위치로 이동하고 map.setView()
즉시 새보기를 원하는 위치 / 확대 / 축소 수준으로 설정합니다.
답변
map.panTo();
포인트가 현재보기에있는 경우 사용 은 아무 작업도 수행하지 않습니다. map.setView()
대신 사용하십시오 .
저는 폴리 라인이 있었고 매초마다 폴리 라인의 새로운 지점에지도를 중앙에 배치해야했습니다. 코드 확인 : GOOD : https://jsfiddle.net/nstudor/xcmdwfjk/
mymap.setView(point, 11, { animation: true });
나쁨 : https://jsfiddle.net/nstudor/Lgahv905/
mymap.panTo(point);
mymap.setZoom(11);
답변
다음을 사용할 수도 있습니다.
var latLon = L.latLng(40.737, -73.923);
var bounds = latLon.toBounds(500); // 500 = metres
map.panTo(latLon).fitBounds(bounds);
이렇게하면지도 전단지의 경계에 맞게보기 수준이 설정됩니다.