使用JQuery获取Google Maps对象的实例

时间:2016-05-19 07:33:29

标签: javascript jquery html google-maps google-maps-api-3

我正在考虑编写一个函数,当被调用时,将使用JQuery在页面上获取Google Maps object的实例,如果存在一个实例。

例如,如果页面上确实有一个Map,它看起来像这样:

<div class="map">....</div>

因此,访问包含地图的div 非常容易。即$('.map');。但是,你如何投射它以使其实际上是Google Map Class类型,然后能够调用它上面的函数并访问属性?

1 个答案:

答案 0 :(得分:3)

除非创建Google Map对象的JavaScript代码使您 非常容易

,否则无法使用。

Google Maps对象完全独立于用于显示它的DOM元素。由于可以访问其DOM元素或使用jQuery,因此无法反向访问JavaScript对象。 (即使你可以,找一个带有&#34; map&#34;类的div也不一定会有成果,因为地图的DOM元素可以有任意的类名和ID。 )

要访问Google Maps JavaScript对象,您必须能够获取实例化Google Maps对象的变量引用。 的唯一方法是,如果对象位于全局命名空间中的某个位置,您可以访问它。而即便如此您需要手动扫描整个全局命名空间以尝试查找有效的Map,或提前知道变量所在的位置。

Snazzymaps.com就是我所知道的Google Map对象已添加到全局命名空间的示例。 In the map editor,可以window.editor.map访问。null。但是,您绝对不能指望每个谷歌地图都可以访问。它们可能是一个私有变量,在闭包或匿名函数中等等。所以不要赌它。