【问题标题】:Selecting elements within Google map using jQuery selectors使用 jQuery 选择器在 Google 地图中选择元素
【发布时间】:2012-07-22 21:11:02
【问题描述】:

好的,我在 Google 地图中使用 infoBubble 弹出窗口 (http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobubble/examples/example.html/)。它类似于 infoWindow,但有一点可定制的。我稍微更改了库并给了气泡一个 ID (#infoBubble),希望使用 jQuery 来操作它。但似乎我无法选择它。可以使用 jQuery 选择包含地图的 DIV,但不能选择其中的任何元素。谁能帮我解决这个问题?

我正在尝试从通常的 $(document).ready(function() {}

中访问 infoBubble div

更新:从 geocodezip 的回复中得知在 infoBubble 中创建的 div 不是 DOM 的一部分后,我添加了一个监听器事件,如下所示:

google.maps.event.addListener(infoBubble, "domready", function( { 
    $j('#infoBubble').click(function(){alert('bubble clicked');}); 
});

现在它正在到达某个地方。这行得通。虽然我遇到了问题,因为有很多 infoBubble 弹出窗口,但如果我遇到一些问题,我会编辑这个问题。到目前为止,这是可行的。

【问题讨论】:

  • 您何时尝试访问 infoBubble 中的 div?它是否附加到 DOM 并且可见?
  • 嗨 geocodezip,我更新了我的问题。

标签: google-maps google-maps-api-3 infowindow


【解决方案1】:

在 infoWindow 打开并呈现之前,在 infoBubble 中创建的 div 不是 DOM 的一部分。使用infoWindow domready event 访问它。

【讨论】:

  • 感谢您的提示。我为 infoBubble 添加了监听器、domready 事件,但仍然无法让选择器工作。
  • 这行得通。但是,我面临几个问题,因为我在一个循环中打开了多个 infoBubbles,但我希望能够解决它们。
  • 如果您在循环中打开 infoBubbles,请查看使用函数闭包(createMarkers 函数)的this example。该示例使用 infoWindows,但该概念适用于 infoBubbles。
猜你喜欢
  • 1970-01-01
  • 2011-04-19
  • 2019-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-05
  • 2014-06-24
相关资源
最近更新 更多