我正在尝试在Google地图上添加多个标记。 但是,只是添加了最后一个。这可能是由于删除引用,但我不知道javascript如何工作。我使用Parse来管理我的数据,它像Backbone.js一样工作
query.find()
返回包含两个Foo对象的promise对象。我调用buildMarker(因为我没有设法在初始化时构建标记)和addToMap,但最后,只添加了最后一个。
你能解释一下为什么会这样吗?
我告诉你我的代码:
$(function(){
var Foo = Parse.Object.extend({
className: "Foo",
initialize: function(){
},
marker: new google.maps.Marker(),
buildMarker: function(){
var pos = this.get("position");
this.marker.setPosition(new google.maps.LatLng(pos.latitude, pos.longitude));
},
addToMap: function(map){
this.marker.setMap(map);
},
removeFromMap: function(map){
this.marker.setMap(null)
}
});
var query = new Parse.Query(Foo);
promise = query.find({
success: function(results){
alert("success : " + results.length);
}
});
promise.then(function(foo){
foo.forEach(function(a){
a.buildMarker();
a.addToMap(map);
});
});
});
非常感谢,