我正在使用Google Maps API。当我点击地图标记时,我希望地图可以放大一步,但保持标记相对于窗口的位置。
这类似于使用鼠标滚轮进行缩放时:缩放朝向当前光标位置。
map.setZoom()函数相对于地图的中心进行缩放。这不是我想要的。
找不到任何简单的解决方案,任何人都有线索?
答案 0 :(得分:0)
Hy请试试这个。自动缩放标记。
float zoomLevel = 16.0; //This goes up to 21
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, zoomLevel));
答案 1 :(得分:0)
这种作品,不是一个优雅的解决方案:
function zoomInAtMarker(marker)
{
var pos = marker.getPosition();
var bounds = map.getBounds();
map.setZoom(map.getZoom() + 1);
var span = map.getBounds().toSpan();
var s = pos.lat() - span.lat() * (pos.lat() - bounds.getSouthWest().lat()) / bounds.toSpan().lat();
var w = pos.lng() - span.lng() * (pos.lng() - bounds.getSouthWest().lng()) / bounds.toSpan().lng();
map.panToBounds({ south:s, north:s + span.lat(), west:w, east:w + span.lng()});
}