在谷歌地图中搜索后相关缩放

epi*_*omz 5 javascript google-maps google-maps-api-3

我刚刚在地图中添加了搜索框,但在搜索了一个地方(例如国家或城市)后,结果并不好.市场设置在该地方的中心,变焦是巨大的.

如何根据地点的大小自动定义边界?当搜索结果包括多个位置时,缩放是好的.

这是我的代码部分:

var input = (document.getElementById('pac-input'));
map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);

var searchBox = new google.maps.places.SearchBox((input));

google.maps.event.addListener(searchBox, 'places_changed', function() {
    var places = searchBox.getPlaces();

    for (var i = 0, marker; marker = markers[i]; i++) {
        marker.setMap(null);
    }

    markers = [];
    var bounds = new google.maps.LatLngBounds();
    for (var i = 0, place; place = places[i]; i++) {
        var image = {
            url: place.icon,
            size: new google.maps.Size(71, 71),
            origin: new google.maps.Point(0, 0),
            anchor: new google.maps.Point(17, 34),
            scaledSize: new google.maps.Size(25, 25)
        };

        var marker = new google.maps.Marker({
            map: map,
            icon: image,
            title: place.name,
            position: place.geometry.location
        });

        markers.push(marker);

        bounds.extend(place.geometry.location);
    }

    map.fitBounds(bounds);
});
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!