放大标记google.maps

Jak*_*kob 39 javascript google-maps google-maps-api-3

我无法正确缩放到标记.

我正在尝试将视图切换到指定的标记,但无法使用ge tit工作.

我试过了

map.setCenter(location);
map.setZoom(20);
Run Code Online (Sandbox Code Playgroud)

map.fitBounds(new google.maps.latLngBounds(location,location));
Run Code Online (Sandbox Code Playgroud)

但是在第一种情况下,我只是在没有注册中心变化的情况下进行放大,在第二种情况下,我将这个概述放在一个巨大的区域,而不是放大.

也许这个问题可以通过设置从setcenter到setzoom的时间来解决,但这对我来说是一个丑陋的黑客,所以更喜欢更漂亮的解决方案.

你们是怎么做到的?

此外 - 如果可以在不改变内容的情况下显示信息窗口,那真的是一个加分,但最重要的是放大到正确位置的标记,关闭.

非常感谢你.

Jak*_*kob 91

结果证明是解决方案

map.setZoom(17);
map.panTo(curmarker.position);
Run Code Online (Sandbox Code Playgroud)


AdR*_*ock 8

我想我会在这里发布一个答案,因为人们想要一些示例代码.

一旦将标记添加到地图中,我也需要能够放大并居中.

希望这有助于某人.

function getPoint(postcode) {

    var geocoder = new google.maps.Geocoder();

    geocoder.geocode( { 'address': postcode + ', UK'}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {

            var marker = new google.maps.Marker({
                map: map,
                position: results[0].geometry.location
            });

            map.setZoom(10);
            map.panTo(marker.position);
        }
        else {
            alert('Geocode was not successful for the following reason: ' + status);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)