更新Google Map API v3上的标记

时间:2011-01-27 09:34:40

标签: javascript jquery django google-maps-api-3

我在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新组合可见?

0 个答案:

没有答案