【发布时间】:2011-04-06 06:14:57
【问题描述】:
我正在使用 jQuery 的 gMap 插件,需要在地图初始化后调用原生 Google Map API 的“resize”方法。谁能告诉我如何实现这一目标?
,我正在以这种方式初始化我的地图元素var defaults = {
latitude: 0,
longitude: 0,
zoom: 2,
scrollwheel: false
};
$('#myMap').gMap(defaults);
显示地图的选项卡最初是隐藏的,我知道这会导致 Google Maps API 的绘制问题(以及随后的我们许多网络开发人员)。
我尝试在每次显示选项卡时设置地图初始化,但这会导致闪烁并且还会导致地图显示重置为其默认状态——不幸的是,这两种状态都不可接受。
因此,通过 gMaps 触发 API 的“resize”方法;在显示选项卡的内容时,我尝试了以下方法,但它们都不起作用:
$('#myMap').resize();
$('#myMap').gMap(resize);
google.maps.event.trigger(myMap, 'resize');
$(window).resize();
我曾尝试向gMap Twitter account寻求帮助,但似乎已被放弃。
我真的很感激一个比我更好的大脑来解释我在使用 jQuery 的 gMap 插件时如何调用 GMap 方法。
【问题讨论】:
-
我可能会鼓励您在此处自己处理与 Google Maps API 的交互,或查找其他插件。您使用的插件引用了已弃用的 v2 地图库,为了真正从函数中获取地图对象,您需要修改插件源以存储对 $gMap 对象的引用——也许在关联的 jQuery 数据存储——以便您以后可以再次找到它。
-
我怀疑我可能需要以某种方式从插件中破解对 GMap 对象的访问权限,或者在插件旁边运行本机 API 实例/引用以重新获得对某些 API 方法的访问权限。烦人。
标签: javascript jquery google-maps