Google Maps JavaScript API会在搜索后更改缩放级别

时间:2016-07-19 18:11:17

标签: javascript google-maps-api-3 zoom

我想在执行搜索后更改缩放级别和最小/最大缩放级别:

function initMap() {

    var myLatLng = {
        lat: 38.5803844, 
        lng: -121.50024189999999
    };

    map = new google.maps.Map(document.getElementById('map'), {
      zoom: 17,
      minZoom: 16,
      maxZoom: 17,
      center: myLatLng,
      mapTypeControl: false
    });

}

function getDirectionsHere(lat,lng) {

    map.setMinZoom(10);
    map.setZoom(10);

}

上面的代码会在用户执行搜索时更改缩放级别,但只会缩小到初始设置在initMap函数中的值(16)。

map.setMinZoom似乎不是一个功能。

我该如何做到这一点?

2 个答案:

答案 0 :(得分:2)

maps.SetOptions就是这样做的:

map.setOptions({ minZoom: 5, maxZoom: 15 });

答案 1 :(得分:1)

可以使用MaxZoomService检索最大缩放级别。

所以这应该起作用。

function initMap() {

    var myLatLng = {
        lat: 38.5803844, 
        lng: -121.50024189999999
    };

    map = new google.maps.Map(document.getElementById('map'), {
      zoom: 17,
      minZoom: 16,
      maxZoom: 17,
      center: myLatLng,
      mapTypeControl: false
    });

    maxZoomService = new google.maps.MaxZoomService();
}

function getDirectionsHere(lat,lng) {

    maxZoomService.getMaxZoomAtLatLng({lat, lng}, function(response) {
        map.setOptions({ minZoom: 5, maxZoom: response.zoom });
        map.setZoom(10);
    });
}