Я использую gmaps4rails и хотел бы продолжать использовать функцию автоматического масштабирования, но если у меня есть только один маркер, я бы хотел изменить масштаб, потому что по умолчанию используется максимальный масштаб.
Прочитав связанный вопрос, я добавил это код в мой файл javascript:
$(function() {
//to address the problem with the zoom being set to maximum when there's only one marker
Gmaps.map.callback = function() {
console.log("in callback");
if (Gmaps.map.markers.length == 1) {
console.log("only one marker");
//only one marker, choose the zoom level you expect
Gmaps.map.map.setZoom(12);
}
else{
//more than one marker, let's auto_zoom
console.log("more markers");
Gmaps.map.map_options.auto_zoom = true;
Gmaps.map.adjustMapToBounds();
}
}
});
И когда я читаю вывод консоли (веб-инспектор Safari), я получаю как "in callback"
, так и "only one marker"
, но карта не увеличивается. С другой стороны, когда я вручную набираю Gmaps.map.map.setZoom(12)
в консоли, она уменьшается.
Может быть, есть какой-то другой обратный вызов, который вызывается после этого? Или я должен поместить этот код где-то еще?