134

次のコードは、リーフレット マップを初期化します。初期化関数は、ユーザーの位置に基づいてマップを中央に配置します。初期化関数を呼び出した後、マップの中心を新しい位置に変更するにはどうすればよいですか?

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 &copy; <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});    
} 
4

5 に答える 5

206

例えば:

map.panTo(new L.LatLng(40.737, -73.923));
于 2012-10-04T20:44:12.373 に答える
145

以下も使用できます。

map.setView(new L.LatLng(40.737, -73.923), 8);

それは、あなたが望む行動に依存します。map.panTo()ズーム/パン アニメーションでその場所にパンし、map.setView()すぐに新しいビューを目的の場所/ズーム レベルに設定します。

于 2012-10-07T21:51:38.487 に答える
0

境界を変更する方法を探していましたが、アニメーションはありませんでした。これは私のために働いた:

var bounds = L.latLng(40.737, -73.923).toBounds();
map.fitBounds(bounds, {animation: false});
于 2021-08-19T17:13:19.947 に答える