动态添加侦听器到 Google 地图标记

2023-11-25

我正在开发一个页面,该页面使用 Javascript httpObject 获取代码并使用它来更新页面上的两个元素 - 一个谷歌地图和一个列出标记指向的内容的 DIV。

那一点效果很好。问题是,当我创建标记时,我通过 for 循环来完成此操作,并在每个循环中向标记添加侦听器。然后,当我测试页面时,我发现每个标记都会发生同样的情况。

将鼠标悬停在标记上应更改 DIV 相应位的边框颜色。相反,每个标记都会更改最后一位的边界。似乎每次我添加侦听器时,我也会覆盖之前添加的标记的侦听器。

我知道这与 Google Maps API 保留标记的身份有关,即使您在 Javascript 中创建了一个新标记。我不明白如何解决它 - 我尝试在循环外创建一个数组,然后更改

var newMarker = new GMarker(newLatLng);

和 newMarker[count] = new GMarker(newLatLng);

但它仍然不起作用。

帮助我,StackOverflow。你是我唯一的希望。 :)

编辑:更多代码

for (count=0;count<=LatArray.length;count++)
{
  thisLat = LatArray[count];
  thisLong = LongArray[count];
  thisHTML = HTMLArray[count];
  newLatLng = new GLatLng(thisLat, thisLong, true);

  if (mapBounds.containsLatLng(newLatLng))
  {
      //alert(count);
      var  dinnerNumber = "dinner_"+count;
      newMarkers[count] = new GMarker(newLatLng); 
      map.addOverlay(newMarkers[count]);
      GEvent.addListener(newMarkers[count],'mouseover',function(){document.getElementById(dinnerNumber).style.borderColor = '#000000';
  });
}// for

关闭问题——所有这些监听器共享相同的dinnerNumber 变量。尝试这个:

GEvent.addListener(newMarkers[count], 'mouseover', (function(dinnerNumber){ return function(){document.getElementById(dinnerNumber).style.borderColor = '#000000';}; })(dinnerNumber));

这样,每个侦听器都会使用其自己的晚餐编号的封闭副本创建。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动态添加侦听器到 Google 地图标记 的相关文章

随机推荐

  • 客户端 HTML 清理有多安全?

    我最近一直在研究 Pagedown js 因为在我的页面上使用 mark down 而不是丑陋的只读文本区域的吸引力 不过 我非常谨慎 因为欺骗经过消毒的转换器似乎很容易 我已经看到了一些关于 Angular js 及其 html 绑定的讨
  • 如何使用ajaxStart显示加载微调器?

    我有一个使用命令 shell exec 运行 python 脚本的网页 我想要一个加载微调器 在 python 脚本运行时显示 请稍候此页面加载 之类的消息 然后在完成后显示其余的回显 HTML 我找到了一个似乎不错的解决方案https s
  • 生成迷宫的好算法是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 假设你想要一个 N M 网格上的简单迷宫 有一条路径通过 并且有很多死胡同 但这看起来 正确 即就像有人手工制作的 没有太多微小的死胡同和所有这些
  • org.apache.spark.rpc.RpcTimeoutException:Futures 在 [120 秒] 后超时。这个超时由spark.rpc.lookupTimeout控制

    将 Spark 应用程序提交到 YARN 时 出现与容器相关的以下错误 HADOOP 2 7 3 SPARK 2 1 环境在单节点集群中运行伪分布式模式 该应用程序在本地模型中运行时可以完美运行 但是尝试使用 YARN 作为 RM 在集群模
  • 在Android中以编程方式创建基于VpnService的L2TP/IPSec VPN

    我搜索了一天 关于基于VpnService创建L2TP IPSec VPN 但没有匹配到的结果 使用本地VPN https github com hexene LocalVPN 我可以基于 VPNService 创建一个 VPN OpenV
  • Solr - 如何“分组”和“限制”?

    假设我从数据库中索引了以下内容 Id Code Description 1 A1 Hello world 2 A1 Hello world 123 3 A1 World hello hi 4 B1 Quick fox jumped 5 B1
  • 在Vue中将多个事件绑定到v-on指令

    在 jQuery 中 您可以通过执行以下操作来绑定多个事件 myDiv on touchstart mousedown more code here 据我了解 这会监听touchstart OR mousedown同时地 但我不知道如何用
  • 将单词转换为字符列表[重复]

    这个问题在这里已经有答案了 我可以将一个句子分成单独的单词 如下所示 string This is a string with words string split This is a string with words 但我不知道如何将单
  • 从 formatCurrency 中删除货币符号

    我正在尝试格式化从数据库获取的收入总额 并使用 php 的 NumberFormatter 类和 formatCurrency 方法 但是 我不想用这个打印出实际的欧元 欧元符号 我只想要简单的数字 带有逗号和小数点 例子 1234 56
  • 手电筒相机2 API

    Android Camera2 API 中可以同时使用相机预览和手电筒吗 当我尝试使用时CameraManager setTorchMode String cameraId boolean enabled 当相机未打开时它工作正常 但是当相
  • 将 Javascript 回调传递给 Qml 中的 C++ 调用方法

    在 C 中 我有一个带有可调用函数的类 我想做的是从 QML Javascript 调用该方法 我已经开始工作 并向其传递一个 Javascript 回调 在代码中 我定义我的类如下 class MyObject public QObjec
  • Rails - AJAX 模态对话框?

    我有兴趣学习如何 AJAX 模式对话框 通常 如果我想向网站添加模式对话框 我会在主 JS 文件中添加 jquery UI 对话框代码 并将其绑定到 ID 我相信使用 Rails 我可以创建一个链接 它从服务器获取所有对话框代码 然后打开对
  • 将 TBytes (UTF-16) 转换为字符串的最佳方法是什么?

    在 Delphi 2009 中将声明为 TBytes 的字节数组转换为 unicode 字符串的最佳方法是什么 在我的特定情况下 TBytes 数组已经具有 UTF 16 编码数据 每个字符 2 个字节 由于 TBytes 不存储空终止符
  • 为什么 vscode 从打字稿缓存导入包

    我已经开始使用 cli 生成一个反应本机项目 该应用程序似乎工作得很好 但我注意到导入指向打字稿缓存而不是本地节点模块 我什至没有使用打字稿 IDE vscode 1 19 3 import React Component from rea
  • SwiftUI - 如何检测长按按钮?

    我有一个按钮 当按下它时 它会执行一些操作 但我想修改同一个按钮来检测较长的按下时间 并执行一组不同的过程 如何修改此代码以检测长按 Button action some processes Image systemName circle
  • 为什么 numpy 比 python 慢?如何让代码执行得更好

    我将我的神经网络从纯 python 重新编写为 numpy 但现在它的运行速度甚至更慢 所以我尝试了这两个功能 def d a 1 2 3 4 5 b 10 20 30 40 50 c i j for i j in zip a b retu
  • (远程)状态文件中的 Terraform 和明文密码

    Terraform 存储库上有许多关于此问题的 Git 问题 其中有很多有趣的评论 但截至目前我仍然没有看到此问题的解决方案 Terraform 将纯文本值 包括密码 存储在 tfstate 文件中 大多数用户都需要远程存储它们 以便团队可
  • Kafka Mirror Maker 无法复制 __consumer_offset 主题

    我正在尝试利用镜子制造商来复制 consumer offsets主题与其他主题一起 它给出了如下所述的错误 2018 10 24 16 16 03 802 ERROR 向主题发送消息时出错 consumer offsets 键 16 字节
  • 仅跟踪 iframe 历史记录

    我有一个包含 iframe 的页面 我只想跟踪 iframe 的历史记录 我尝试像这样使用历史对象
  • 动态添加侦听器到 Google 地图标记

    我正在开发一个页面 该页面使用 Javascript httpObject 获取代码并使用它来更新页面上的两个元素 一个谷歌地图和一个列出标记指向的内容的 DIV 那一点效果很好 问题是 当我创建标记时 我通过 for 循环来完成此操作 并