是否可以在mapbox内将地图平移到标记onClick
关于弹出窗口height
?
目前,弹出窗口消失在地图的掩码后面。我正在寻找一种解决方案,以适应地图,标记和弹出窗口(如添加一些顶部填充)。
featureLayer.on('click', function(e) {
var latLng = e.layer.getLatLng();
map.panTo(latLng);
});
答案 0 :(得分:2)
我找到了原生解决方案。
您需要将参数keepInView
添加到bindPopup()
命令。
layer.bindPopup('<p>Hello</p>', {keepInView: true});
答案 1 :(得分:0)
回答这个问题的方式很晚,但我遇到了它,所以其他人也可能。我在类似的问题上遇到了类似的问题和Dan Mandle answered代码:
map.on('popupopen', function(e) {
var px = map.project(e.popup._latlng); // find the pixel location on the map where the popup anchor is
px.y -= e.popup._container.clientHeight/2 // find the height of the popup container, divide by 2, subtract from the Y axis of marker location
map.panTo(map.unproject(px),{animate: true}); // pan to new center
});
此代码对我来说非常有用,并且在弹出窗口打开后仍允许平移地图,与使用keepInView不同。