首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery工具-将外部内容加载到覆盖中-使用自定义变量- google.maps,marker.set('id')

jQuery工具-将外部内容加载到覆盖中-使用自定义变量- google.maps,marker.set('id')
EN

Stack Overflow用户
提问于 2012-06-03 19:00:43
回答 1查看 868关注 0票数 0

使用jquery 1.7.2、jquery-tools 1.2.7和googlemaps api v3

首先,这是我在googlemaps中创建标记的代码片段:

代码语言:javascript
复制
function createMarker(latlng, id) {
var marker = new google.maps.Marker({
    map: googleMap,
    position: latlng,
    });

marker.set('id', id);

google.maps.event.addListener(marker, 'click', function() {               
  property_id = marker.get('id');

  alert("add listener -> " + property_id);
            $("#contentWrapBeta").overlay({
                      mask: {
                        color: '#ebecff',
                            loadSpeed: 100,
                            opacity: 0.5
                            },
                          effect: 'apple',
                          left: '2%',
                          top: '5%',
                          load: false,

                  onBeforeLoad: function() {

                  alert("on before load" + property_id);
                 var wrap = this.getOverlay().find(".contentWrap");
                 wrap.load('details.php?id=' + property_id);

                        }

              });

            alert("overlay.load ->" + property_id);
  $("#contentWrapBeta").overlay().load();

});

markers.push(marker);
}

因此,当我单击第一个标记时,警报"add listener“将使用正确的property_id触发,"on well”警报将具有正确的属性id,"overlay.load“将具有正确的ID,弹出窗口出现,一切都很好...

当我点击地图上的第二个标记时,"add listener“警报显示正确的ID (我设置的新标记id ),"overlay.load”也是正确的,但是,

"on before“警告有以前的标记property_id (!) --不管我怎么尝试,我似乎都不能用我点击的新标记id来更新它,它”卡住“在第一个标记property_id上-所以wrap.load()用相同的&id=变量调用。

有人能告诉我为什么吗--它已经困扰我好几天了!我似乎解决不了这个问题。

非常感谢

EN

回答 1

Stack Overflow用户

发布于 2012-06-04 04:39:34

啊,我知道了

感谢irc.freenode.org上的#jquery上的shonky

似乎我需要将data()添加到我的覆盖定义中

我改变了这一点:

代码语言:javascript
复制
    $("#contentWrapBeta").overlay({
                  mask: {
                  ....,
              onBeforeLoad: function() {
              alert("on before load" + property_id);
              var wrap = this.getOverlay().find(".contentWrap");
              wrap.load('details.php?id=' + property_id);

             }

          });

代码语言:javascript
复制
$("#contentWrapBeta").data('property_id', property_id).overlay({
                  mask: {
                  ....,
              onBeforeLoad: function() {
                  var propertyA_id = $('#contentWrapBeta').data('property_id');
                  alert("on before load" + propertyA_id);
                  var wrap = this.getOverlay().find(".contentWrap");
                  wrap.load('details.php?id=' + propertyA_id);

                  }

          });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10869750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档