gmaps4rails увеличить на один маркер - PullRequest
2 голосов
/ 24 января 2012

Я использую 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) в консоли вручную, она уменьшается ..

Может быть, есть какой-нибудь другой обратный вызов, который вызывается после этого? Или я должен поместить этот код в другом месте?

...