我在views.py
中创建了一组标记,并在地图初始化时将其可见设置为false。
views.py
markerList = {}
sp1Marker = maps.Marker({
'position': latlng,
'map': gmap,
'icon': image,
'draggable': True,
'title': "SP 1"
});
markerList.update({"sp1":sp1Marker})
markerList["sp1"].setVisible(False)
我还添加了一个事件监听器来检测我的default.js
向views.py发送消息的地图缩放级别
views.py
maps.event.addListener(gmap, 'zoom_changed', 'gmap.zoom_Changed')
default.js
window.gmap = {
zoom_Changed: function() {
var args = {
type: "GET",
data: {"dataA":"True"},
url: "/helper/",
dataType: "json",
success: function(data, status, XMLHttpRequest) {
if (eval(data.valid)) {
alert("data valid");
} else {
alert("data not valid");
}
}
};
$.ajax(args);
}
};
views.py
if request.is_ajax():
markerList["sp1"].setVisible(True)
print "visible: %s" % markerList["sp1"].getVisible()
rdict = {"valid":"true"}
json = simplejson.dumps(rdict, ensure_ascii=False)
return HttpResponse(json, mimetype="application/javascript")
打印结果为visible: True
,但地图上没有显示标记。
编辑如何将来自views.py的markerList [“sp1”]。setVisible(False)传递给default.js?或者通知JS新组合可见?