【问题标题】:jquery google map does not reload after clicking on button单击按钮后jquery google map不会重新加载
【发布时间】:2014-01-30 00:29:40
【问题描述】:

我从以下链接下载了 jquery 地图: enter link description here

它可以正常工作,但是只要我添加了一个名为 test1 的可点击 div 并将与加载地图相关的代码放入其中并点击它,什么都没有发生,这就是代码:

$(".test1").click(function() {
            $("#test1").append("<li data-gmapping=" +
                "'{\"id\":\"m_1\",\"latlng\":   {\"lat\":27.6648274,\"lng\":-81.51575350000002},\"tags\":\"drupal\"}'>" +
                "<p class=\"info-box\">Florida DrupalCamp - Feb 11 2012</p></li>");
        demo.add(function() {

            alert("ddddd");
            $('#map_canvas').gmap({'disableDefaultUI':true, 'callback': function() {
                var self = this;

                $("[data-gmapping]").each(function(i,el) {

                    var data = $(el).data('gmapping');
                    alert($(el).find('.info-box').text());
                    self.addMarker({'id': data.id, 'tags':data.tags, 'position': new google.maps.LatLng(data.latlng.lat, data.latlng.lng), 'bounds':true }, function(map,marker) {

                        $(el).click(function() {
                            $(marker).triggerEvent('click');

                        });
                    }).click(function() {
                        self.openInfoWindow({ 'content': $(el).find('.info-box').text() }, this);
                    });
                });                     
            }});
        }).load();


    });

值得注意的是 alert("ddddd");现在可以工作,但只要我把它放进去

$('#map_canvas').gmap({'disableDefaultUI':true, 'callback': function() {

它似乎不起作用 $('#map_canvas').gmap 只分配了一次并且再也不会被分配

有人可以帮忙吗?

【问题讨论】:

    标签: javascript jquery google-maps jquery-plugins


    【解决方案1】:

    您必须首先删除(销毁)地图功能:

    $('#map_canvas').gmap('destroy').gmap({/*options for initialization*/});
    

    【讨论】:

    • 非常感谢您的回答,但是当我按照您的建议进行操作时,我收到以下警报框消息:由于无法加载...某些 CDN 没有像我们希望的那样响应
    • 我先使用 $('#map_canvas').gmap('destroy') 然后添加用于绑定 gmap 的常规代码,现在它可以工作了 :) 非常感谢您的聪明回答
    • 只是一个简单的问题:对于我正在使用的地图,如何在不重新绑定 gmap 的情况下向地图添加标记。现在,当我使用这种方法时,我会稍微刷新一下,直到添加了新标记,这不是勇敢的
    • 你能解释一下你想要达到的目标吗?当您在每次点击时添加另一个标记时,这是没有意义的,因为此标记的数据是相同的,它将是同一位置的标记的精确副本(最新添加的标记将覆盖以前的标记)
    • 不,我的意思是在未来我要实现的场景中,我将从数据库中读取 lat 和 lng
    猜你喜欢
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    • 2012-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多