我正在尝试根据用户搜索表单动态更改 Gmaps4Rails 中的标记。我正在使用下面的代码。
我遇到的问题是 $('#locations_search').submit 中对 Gmaps.map.replaceMarkers 的调用给出了错误:Gmaps.map 未定义。
我使用 javascript 调试器进行了检查,确实,一旦我进入提交函数(我在那里有一个断点), 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;
});
}
非常感谢!