Вопрос по javascript, google-maps-api-3 – Изменить максимальный уровень масштабирования типа карты Google

8


Мне нужно установитьmaxZoom уровеньgoogle.maps.MapTypeId.HYBRID 21. На самом деле он установлен на 14 (проверено с помощью консоли firebug).

Установите свойствоgoogle.maps объект "maxZoom" в этом случае не работает, и я уже пытаюсь изменитьgoogle.maps.mapTypes объект, но без успеха.

var options = {
    center: new google.maps.LatLng(lat_centre,lng_centre),   
    zoom: 14, 
    maxZoom: 21,
    mapTypeId: google.maps.MapTypeId.TERRAIN,   
    panControl: true,
    zoomControl: true,
    mapTypeControl: false,
    scaleControl: false,
    streetViewControl: false,
    overviewMapControl: false,
    disableDoubleClickZoom: true,
    styles: [ 
        {featureType: "poi", stylers: [{visibility: "off"}]} 
        ]                   
    };

    map = new google.maps.Map(document.getElementById("map_container"),options);

А ТАКЖЕ

google.maps.event.addListener(map, 'tilesloaded', function(event){

    var mapTypeRegistry = map.mapTypes;

    var currentMapTypeId = map.getMapTypeId();

    var mapType = mapTypeRegistry.get(currentMapTypeId);

    mapType.maxZoom = 21;
  });

Итак, есть ли способ увеличить уровень масштабирования mapType HYBRID?

Благодарю.

Отредактировано с кодом! jbrtrnd
не могли бы вы показать нам код, когда пытаетесь установить максимальный зум Jorge

Ваш Ответ

1   ответ
8

mapType свойство объекта (maxZoom, minZoomи т. д.), измененный эффект будет иметь местоONLY AFTER тип карты будет изменен наmapType, Например, если текущийmapType являетсяTERRAINи ты изменилсяTERRAIN& APOS; smaxZoom, maxZoom будет работать только после сменыmapType к другому типу (например,ROADMAP,HYBRIDи т. д.) и обратно кTERRAIN.

Вместо настройкиmapType& APOS; smaxZoom опцию, использовать базовую картуmaxZoom вариант. Добавить слушателя для"maptypeid_changed" событие, и когда событие происходит, изменитеmaxZoom вариантmap:

google.maps.event.addListener(map, 'maptypeid_changed', function(event){
    if( map.getMapTypeId() === google.maps.MapTypeId.TERRAIN ){
        map.setOptions({maxZoom:/*For example*/5});
    }else 
    if( map.getMapTypeId() === google.maps.MapTypeId.ROADMAP ){
        map.setOptions({maxZoom:/*For example*/8});
    }//Etc...
    else{
        map.setOptions({maxZoom:/*For example*/21});
    }
});
Error: User Rate Limit ExceededEventError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded jbrtrnd
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded'tilesloaded'Error: User Rate Limit Exceeded

Похожие вопросы