【问题标题】:How to programmatically click on a Google Maps Fusion Table layer?如何以编程方式单击 Google Maps Fusion Table 图层?
【发布时间】:2013-03-22 01:10:57
【问题描述】:

我有一个谷歌地图,它使用融合表层来动态设置大量多边形的样式。在这一层之上,我还在多边形本身的特定 LatLng 位置生成一组标记。我希望有以下行为:

  • 当您单击多边形上的任意位置时,应该会弹出一个信息窗口,其中填充了融合表中的数据。这是有效的。
  • 当您单击标记时,它应该将单击事件传递到融合表层并创建相同的弹出窗口,就好像在标记的 LatLng 发生自然单击一样。这就是我正在努力解决的问题,目前还没有工作。我正在为每个标记添加一个点击侦听器,然后使用它来触发对我的融合表层的点击,或多或少如建议的here

这是我用来为每个标记添加侦听器的代码:

function addMarkerListener(city, LatLng){
    google.maps.event.addListener(city, "click", function(e) {
      google.maps.event.trigger(layer, 'click', {
        latLng: LatLng
      });
    });
}

在这种情况下,layer 是我的融合表层。

使用这个,点击触发,但我实际上并没有从我的融合表中获取任何数据(存储在鼠标事件对象的行变量中)。相反,我的鼠标事件直接传递给了融合表层上的侦听器,该侦听器通常会处理点击。

如何以编程方式在融合表层上创建一个点击事件,该事件将像自然点击一样从融合表中提取数据?

【问题讨论】:

  • 你有没有想过这个问题? @wf9a5m75 中的示例不会模拟对 FusionTableLayer 的任意点击,它会加载数据集的副本,并且只允许“点击”数据集中已有的坐标。

标签: google-maps google-fusion-tables


【解决方案1】:

这是一个以编程方式单击侧边栏中标记的 Fusion Table Layer 示例。

从此页面查看完整代码。 http://googlemaps.googlermania.com/google_maps_api_v3/en/fusion-tables-sidebar.html

【讨论】:

    猜你喜欢
    • 2013-01-16
    • 2013-10-25
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-13
    • 2015-03-06
    相关资源
    最近更新 更多