ユーザー検索フォームに基づいて、Gmaps4Railsのマーカーを動的に変更しようとしています。私は以下のコードを使用しています。
私が遭遇している問題は、$('#locations_search')。submit内でGmaps.map.replaceMarkersを呼び出すと、エラーが発生することです。Gmaps.mapは未定義です。
javascript debbugerを使用してチェックしましたが、実際に送信関数に入ると(そこにブレークポイントがあります)、Gmaps.mapは未定義です。Gmaps.map.callbackの最初の行にブレークポイントを設定して停止すると、オブジェクトGmaps.mapが定義されます。
おそらく私は何かが欠けています。ここでいくつかの可変スコープの問題のようですか?
Gmaps.map.callback = function() {
var firstMarker = Gmaps.map.markers[0];
var map = Gmaps.map.map;
firstMarker.infowindow.open(map, firstMarker.serviceObject);
$('#locations_search').submit(function () {
var url = '/locations.json/?' + $(this).serialize();
$.getJSON(url, function(data){
Gmaps.map.replaceMarkers(data);
});
$.get(this.action, $(this).serialize(), null, 'script');
return false;
});
}
どうもありがとう!