鉴于下面的地图,我想放大/移动从外部视图到内部视图,保持左上角完全相同。
传单似乎只允许移动到中心,而不是左上角和缩放水平。我知道当前的缩放水平,边界和中心,新的缩放水平和期望的左上角。我怎么算粉红X?或者,如果有另一种方式来改变新的视图,我怎么做呢?

发布于 2020-06-20 12:20:26
没有必要计算这种情况下的中心(实际上,这是一个XY problem);您似乎错过了setZoomAround method of L.Map,这正是您最初想做的事情:
setZoomAround(<LatLng> latlng, <Number> zoom, <Zoom options> options)
缩放地图,同时保持地图上指定的地理点不变(例如,内部用于滚动、缩放和双击缩放)。setZoomAround(<Point> offset, <Number> zoom, <Zoom options> options)
缩放地图,同时保持地图上的指定像素(相对于左上角)不动。
要么去地图的西北角,然后用它打电话给setZoomAround,就像.
map.setZoomAround( map.getBounds().getNorthWest(), newZoomLevel );..。或者将所需的固定像素坐标包装在L.Point中,对于地图的左上角是[0, 0],类似于.
map.setZoomAround( L.point([0, 0]), newZoomLevel );https://stackoverflow.com/questions/62484752
复制相似问题