将标记居中 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 &copy; <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()