Google地图会放大标记

时间:2016-07-20 08:38:51

标签: javascript google-maps zoom

我正在使用Google Maps API。当我点击地图标记时,我希望地图可以放大一步,但保持标记相对于窗口的位置。

这类似于使用鼠标滚轮进行缩放时:缩放朝向当前光标位置。

map.setZoom()函数相对于地图的中心进行缩放。这不是我想要的。

找不到任何简单的解决方案,任何人都有线索?

2 个答案:

答案 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()});
}