Jquery mobile 和 google maps openinfowidow 加载而不是点击
Posted
技术标签:
【中文标题】Jquery mobile 和 google maps openinfowidow 加载而不是点击【英文标题】:Jquery mobile and google maps openinfowidow on load and not click 【发布时间】:2013-03-26 06:05:05 【问题描述】:我正忙着在我与 Jquery Mobile 一起使用的谷歌地图上的地图标记上制作我的信息窗口内容,但我发现我无法自动打开信息窗口。
此时它以点击事件打开,但加载事件无效。
我当前的工作代码如下。
$('#map_canvas').gmap(
'center': '-26.083478,28.092296',
'zoom': 15,
'disableDefaultUI': true
).bind('init', function (ev, map)
$('#map_canvas').gmap('addMarker',
'position': '-26.083478,28.092296',
'icon': 'images/map_logo.png',
'bounds': false
).click(function ()
$('#map_canvas').gmap('openInfoWindow',
'content': '<div id="siteNotice">' +
'</div>' +
'<h1 id="firstHeading" class="firstHeading">Lemon Decor</h1>' +
'<div id="bodyContent">' +
'<p>Unit 17, Olympia Gardens<br />' +
'Olympia Street <br />' +
'Marlboro</p>' +
'<p> Tel: 011 262 4116<br />' +
'Fax: 086 697 4110<br />' +
'Email: <a href="mailto:info@lemondecor.co.za">info@lemondecor.co.za</a></p>' +
'</div>' +
'</div>'
, this);
);
);
如果我将代码更改为
$('#map_canvas').gmap(
'center': '-26.083478,28.092296',
'zoom': 15,
'disableDefaultUI': true
).bind('init', function (ev, map)
$('#map_canvas').gmap('addMarker',
'position': '-26.083478,28.092296',
'icon': 'images/map_logo.png',
'bounds': false
).load(function ()
$('#map_canvas').gmap('openInfoWindow',
'content': '<div id="siteNotice">' +
'</div>' +
'<h1 id="firstHeading" class="firstHeading">Lemon Decor</h1>' +
'<div id="bodyContent">' +
'<p>Unit 17, Olympia Gardens<br />' +
'Olympia Street <br />' +
'Marlboro</p>' +
'<p> Tel: 011 262 4116<br />' +
'Fax: 086 697 4110<br />' +
'Email: <a href="mailto:info@lemondecor.co.za">info@lemondecor.co.za</a></p>' +
'</div>' +
'</div>'
, this);
);
);
加载事件无效。对此有何想法?
【问题讨论】:
【参考方案1】:.load()
不是事件方法。它是一种触发 AJAX 请求的方法。
如果您想在地图加载后打开信息框,那么您需要在地图加载后执行此操作。我没有使用gmap
,但使用谷歌地图API,你可以这样做:
google.maps.event.addListener(map, 'idle', function()
// open info window
);
【讨论】:
以上是关于Jquery mobile 和 google maps openinfowidow 加载而不是点击的主要内容,如果未能解决你的问题,请参考以下文章
jQuery Mobile 和 Google Maps API - 地图未加载到设备上
Google maps v3 在 jQuery mobile 和 PhoneGap 上具有自动完成功能
jquery-ui-map 与新版本的 jquery mobile 和 jquery
在显示 jQuery Mobile 页面之前让 Google 地图正确加载