2012-12-06 4 views
0

Я хочу получить текущий уровень масштабирования google map, это дает мне неопределенную ошибку, я думаю, потому что я не использую явный уровень масштабирования в своих вариантах создания карты, вместо этого я использую map.fitBounds , как я могу получить уровень масштабирования карты Google, когда я использую map.fitBounds?получить уровень масштабирования google map при использовании fitBounds

это мое резюме код:

var mapOptions = { mapTypeId: google.maps.MapTypeId.ROADMAP }; 

map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 

map.fitBounds(bounds); 
map.panToBounds(bounds); 

теперь, когда я хочу использовать map.getZoom(), я получаю неопределенными, кажется, что getZoom возвращает только явно установленные уровни масштабирования

+0

Можем ли мы увидеть, какой код вы используете до сих пор? – duncan

+0

Я обновил сообщение –

+0

Покажите нам, где в вашем коде вы используете getZoom. Возможно, это «карта», которая не определена, потому что вы пытаетесь получить к ней доступ с помощью функции, которую она создала в – duncan

ответ

2

Google Maps API v3 основан на событиях. Когда новый уровень масштабирования доступен для запроса, произойдет событие zoom_changed.

Чтобы получить новый масштаб, сделать что-то вроде этого:

google.maps.event.addListener(map, "zoom_changed", function() { 
    alert("the zoom level is now "+map.getZoom()); 
}); 

Обратите внимание, что это будет срабатывать каждый раз, когда увеличение изменяется.

+0

спасибо, но это ничего, посмотрите на эту скрипту: http: //jsfiddle.net/KwayW/26/ –

+0

Вы должны исправить ошибку javascript. http://jsfiddle.net/uc5gd/1/ – geocodezip

+0

спасибо, я использую fitBounds, но, как вы можете видеть, мой уровень масштабирования на самом деле не является FIT, я могу сделать еще один масштаб, и мои маркеры будут по-прежнему видны, это ошибка карты google? как я могу это исправить? –

Смежные вопросы