1

意图:

我有一个单一模板的 jQM 页面,我想要列出我们拥有的不同商店。

这是一个活生生的例子:http ://bit.ly/WU7N1P

我想DIV为弹出窗口提供一个可重复使用的容器,然后在用户点击一个位置或另一个位置时更新src嵌套的容器。iframe我的实现基础来自 jQM Google Map 插件,并且我已添加到其中。

我正在创建一个被点击位置的纬度和经度参数,然后将其传递URLshowMap.html文件,该文件是iframe src谷歌地图在 iframe 中加载的位置。我还在地图上添加了一个标记,以便用户可以看到商店的确切位置。


问题:

当用户点击按钮打开地图时,似乎有两 (2) 个弹出窗口被加载?因此,当您关闭地图弹出窗口并且第二个空白弹出窗口仍然存在时,它也需要关闭。

注意:大多数情况下,您可以在第一个“打开地图”按钮上重新创建此问题,但可能需要点击第二个不同的“打开地图”按钮才能重新创建问题

我已经完全坚持了几个星期,希望有人可以为我阐明这个问题。

这里也是一个可以使用的 jsFiddle。 http://jsfiddle.net/hmQZk/3/


非常感谢您提前!

WizzyBoom

4

1 回答 1

1

您的问题在于 popupbeforeposition 状态和行:

    $('#popupMap iframe').attr('src', 'http://map.matchstickcrew.com/showMap.html?latlng=' + latlng);

我已将其删除并将其放入:

$('.btnShowMap').on('click', function() { 
    latlng = $(this).attr('data-latlng'); 
    $('#popupMap iframe').attr('src', 'http://map.matchstickcrew.com/showMap.html?latlng=' + latlng);
});

这是一个工作示例:http: //jsfiddle.net/Gajotres/hmQZk/5/

但是如果你想听我的建议,你应该放弃这个 iframe 解决方案并切换到gMap v3 api。基本上你会在不使用 iframe 作为代理的情况下得到同样的结果。

于 2013-03-26T21:37:03.770 回答