Обновление маркеров в Google Map API v3 - PullRequest
0 голосов
/ 27 января 2011

Я создал набор маркеров в моем 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, и все же маркер не появился на карте.

Редактировать Как передать маркерList ["sp1"] .setVisible (False) из views.py в default.js?Или уведомить JS о появлении нового набора?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...