将标记居中 div
Centering a marker at the center of a div
我有一个 div 用来放传单地图。目前看起来像这样
我希望标记位于 div 的中心或附近,这样它始终可见,即使标记更靠左,在视野之外或在任何方向都在视野之外。
目前我的代码是这样的
var mymap = L.map('mapid').setView([51.505, -0.09], 18);
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {
maxZoom: 50,
attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
id: 'mapbox.streets'
}).addTo(mymap);
L.marker([52.573921, -0.250830]).addTo(mymap)
.bindPopup('A pretty CSS3 popup. <br> Easily customizable.')
.openPopup();
mymap.fitBounds([52.573921, -0.250830]);
mymap.setView([52.573921, -0.250830]);
mymap.setZoom(18);
我得到错误边界无效。
我希望我的标记至少在这里
试试这个,
mymap.panTo(new L.LatLng(52.573921, -0.250830));
错误的原因是 fitBounds()
将 L.latLngBounds
作为其参数,而您传递给它的是单个 L.point
。
您需要一种不同的方式将地图平移到您想要的中心位置 - 如果您想要 pan/zoom 动画,可能 map.panTo()
或 map.flyTo()
。
我有一个 div 用来放传单地图。目前看起来像这样
我希望标记位于 div 的中心或附近,这样它始终可见,即使标记更靠左,在视野之外或在任何方向都在视野之外。
目前我的代码是这样的
var mymap = L.map('mapid').setView([51.505, -0.09], 18);
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {
maxZoom: 50,
attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
id: 'mapbox.streets'
}).addTo(mymap);
L.marker([52.573921, -0.250830]).addTo(mymap)
.bindPopup('A pretty CSS3 popup. <br> Easily customizable.')
.openPopup();
mymap.fitBounds([52.573921, -0.250830]);
mymap.setView([52.573921, -0.250830]);
mymap.setZoom(18);
我得到错误边界无效。
我希望我的标记至少在这里
试试这个,
mymap.panTo(new L.LatLng(52.573921, -0.250830));
错误的原因是 fitBounds()
将 L.latLngBounds
作为其参数,而您传递给它的是单个 L.point
。
您需要一种不同的方式将地图平移到您想要的中心位置 - 如果您想要 pan/zoom 动画,可能 map.panTo()
或 map.flyTo()
。