ошибка js при попытке динамического обновления gmaps

Попытка заставить gmaps обновляться после ввода нового местоположения. (кто-нибудь знает хороший учебник для этого на самом деле?: P)

В любом случае, при запуске метода Gmaps4Rails.replaceMarkerst я, кажется, выдал ошибку js, наблюдаемую при использовании инструмента проверки Chrome, как показано ниже. Любые идеи?

http://stuff.saikonet.org/images/misc/2011-07-22-030217_1024x768_scrot.png


person Chris Bolton    schedule 22.07.2011    source источник
comment
хорошо, не могли бы вы дать мне больше контекста? Вы заменяли сколько маркеров на сколько маркеров?   -  person apneadiving    schedule 22.07.2011
comment
Я попробовал несколько настроек, но не смог воспроизвести ошибку. Пожалуйста, предоставьте свой код.   -  person apneadiving    schedule 22.07.2011
comment
Я попытался заменить маркеры одним, используя это:   -  person Chris Bolton    schedule 22.07.2011
comment
$(document).ready(function(){ Gmaps4Rails.replaceMarkers([{lng: -92.5294574, lat: 45.1969796}]) });   -  person Chris Bolton    schedule 22.07.2011


Ответы (1)


Хорошо, твоя проблема не в функции replace_marker.

Действительно, с помощью старого доброго друга, готового к работе с документами, карты Google еще не созданы. Так что да, все терпит неудачу.

Вот где Gmaps4Rails.callback делает свой вход.

После объявления вашей карты (по очевидной причине: Gmaps4Rails должен быть определен):

<% content_for :scripts do %>
<script>
Gmaps4Rails.callback = function() {
  Gmaps4Rails.replaceMarkers([{"lng": "-92.5294574", "lat": "45.1969796"}]);
};
</script>
<% end %>
person apneadiving    schedule 22.07.2011
comment
Ницца ;). Единственное, что сейчас, это то, что когда он заменяет маркеры, он портит мой зум и находится очень близко ... как мне это исправить? - person Chris Bolton; 22.07.2011
comment
хм... на самом деле отключение auto_adjust больше не центрирует его вокруг маркера, я просто не хочу, чтобы он полностью увеличивался. любой способ добиться этого? - person Chris Bolton; 22.07.2011
comment
там вы найдете ответ: stackoverflow.com/questions/5821997/ - person apneadiving; 22.07.2011
comment
:) вы знаете, какие награды тогда (и, пожалуйста, без тетради смерти!) - person apneadiving; 22.07.2011
comment
хахахаха. в любом случае :П. Я также получаю сообщение об ошибке неизвестного метода при попытке использовать Adjust_map_to_bounds();. эта функция была переименована или что-то подобное? - person Chris Bolton; 23.07.2011
comment
хм, судя по другому сообщению, на которое вы ссылались, я предположил, что AdjustMapToBounds будет центрироваться на маркере, но, похоже, на самом деле это не имеет никакого эффекта - person Chris Bolton; 23.07.2011
comment
это зависит от значения Gmaps4Rails.map_options.auto_adjust - person apneadiving; 23.07.2011
comment
ура я понял!! :П. только если бы каждый мейнтейнер плагинов был как ты, лол - person Chris Bolton; 23.07.2011
comment
API Google изменился, поэтому... задайте новый вопрос, если вы не нашли себя в документе Google - person apneadiving; 23.07.2011
comment
Я получаю еще одну ошибку отсутствия метода при использовании Gmaps4Rails.geocode. Это тоже было переименовано? - person Chris Bolton; 23.07.2011
comment
о, это метод рельсов, а не javascript. еще раз спасибо :Р - person Chris Bolton; 23.07.2011
comment
хм, наличие его в рельсах вместо js на самом деле немного усложняет ситуацию. нет ли эквивалента js? Я в основном пытаюсь обновить карту, когда пользователь вводит текстовое поле, и не уверен, как интегрировать в это метод rails.... - person Chris Bolton; 23.07.2011
comment
это в основном то, что я пытаюсь получить: Gmaps4Rails.replaceMarkers(Gmaps4Rails.geocode($('#location').val())) - person Chris Bolton; 23.07.2011
comment
или даже нажатие кнопки для обновления вместо этого нормально (отправка информации на контроллер и обратно), но тогда это код рельсов, и я не могу получить переменную javascript в этом:/. нет ли способа обновить карту с указанным пользователем местоположением без перезагрузки всей страницы? - person Chris Bolton; 23.07.2011
comment
ах, подождите, нет, я думаю, у меня есть способ отправки информации методу контроллера. - person Chris Bolton; 23.07.2011
comment
хотя все еще немного запутанно.. было бы неплохо иметь доступ к геокодированию через js - person Chris Bolton; 23.07.2011