Google Maps API v3 For 循环问题

2024-03-29

也许我完全偏离了我想做的事情,但我很想回到版本 2,因为我可以轻松地工作(但我希望对移动设备友好)。

我正在尝试生成一些标记,为了保存代码,我将标记生成放入 for 循环中,该循环循环遍历标记数组(有实际值而不是 (long,lat,x,x, x) 在实数数组中)。

是不是有什么事情完全超出了我的能力范围?

 function initialize() {
    var latlng = new google.maps.LatLng(25, 15);
    var myOptions = {
      zoom: 2,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);


var myMarker = new Array();
myMarker[0] = new Array(long,lat,x,x,x); 
myMarker[0] = new Array(long,lat,x,x,x); 
myMarker[0] = new Array(long,lat,x,x,x); 
myMarker[0] = new Array(long,lat,x,x,x); 
myMarker[0] = new Array(long,lat,x,x,x); 
myMarker[0] = new Array(long,lat,x,x,x); 
myMarker[0] = new Array(long,lat,x,x,x); 

for(var i = 0; i < myMarker.length; i++) {
    var marker = new google.maps.Marker({
        position: new google.maps.LatLng(myMarker[i](1), myMarker[i](2)), 
        map: map, 
        title: myMarker[i](5)
      });
    var infowindow = new google.maps.InfoWindow({content: myMarker[i](5)}); 
    google.maps.event.addListener(marker, 'click', function() {
        infowindow.open(map,marker);
    });
}

}

当我单独制作标记时,此代码有效。


问题是所有这些侦听器函数都共享相同的“地图”和“标记”值。您需要将它们包装在另一个函数中:

(function(map, marker) {
  google.maps.event.addListener(marker, 'click', function() {
    infowindow.open(map,marker);
  });
})(map, marker);

“地图”和“标记”变量在循环的每次迭代中都会发生变化。这些侦听器函数没有它们的副本,除非您明确设置了某些内容来执行此操作,就像我在该示例中所做的那样。因此,所有听众最终都在处理循环触及的最后一件事!

edit- 实际上,现在我再次阅读了代码,“地图”看起来没有改变,所以它可能可以从我的设置中删除(不过不会造成任何伤害)。

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

Google Maps API v3 For 循环问题 的相关文章

  • 添加选中的单选按钮的总数

    UPDATE 如果您尝试此链接上的表格http jsfiddle net Matt KP BwmzQ http jsfiddle net Matt KP BwmzQ 按下小提琴并选择右上角的 40 英镑单选按钮 然后在底部看到订单总额 上面
  • 如何将 scala 列表转换为 javascript 数组?

    有更简单的方法吗 document ready function var jsArray if scalaList null for id lt scalaList jsArray push id 很简单 如下所示 import play
  • 在 d3 中应用转换时出现错误

    我正在尝试对我在 d3 中设计的条形图应用一些过渡效果 这是我的代码 svg selectAll bar data data enter append g attr class bar append rect attr rx barRadi
  • Excel - 查找列中不是错误或空白的最后一个值

    我需要在 Excel 电子表格的一列中找到最后一个非错误 非空白值 该列可以有多个 N A 实例 它们与实际值交替 有多种解决方案可用于查找最后一个非空单元格 但这些解决方案不考虑错误 特别是如果最后一个非空单元格出现错误 在这种情况下 解
  • Durandal SPA 与打字稿有关的问题

    我使用 TypeScript 1 8 将我的 durandal SPA 应用程序从 VS 2012 更新到 VS 2015 它将生成 JavaScript ECMA5 我解决了所有构建错误 但我无法修复一个名为 return 语句只能在函数
  • Jquery:排除元素

    我有以下代码 document ready function a rel each function this qtip content text img class middle src i icon processing gif alt
  • AngularJS 服务并承诺最佳实践

    我有一个 AngularJS 应用程序services 调用 http资源并返回promise我在控制器中解决了这个问题 这是我正在做的事情的示例 app service Blog function http q var deferred
  • 如何使用 javascript 将我的域名字母大写?

    假设我的域名是www hello com 如何使用 jQuery JavaScript 使浏览器的 URL 栏看起来像 www HELLO com 您无法更改浏览器地址栏中显示的内容 这是一项基本的安全功能 您可以使您的域名全部大写 并将页
  • 如何将值从孩子的孩子传递给父母?

    我有一个父组件 有一个子组件 它也有一个子组件 Parent Child One child of parent Child Two child of child 当在子二中定义一个值时 我使用回调将该值传递给子一 但我也想将相同的值传递回
  • C 中“for”循环中的两个变量

    我正在编写一些代码 需要在其中使用两个变量for环形 下面的代码看起来没问题吗 它确实给了我预期的结果 for loop 1 offset loop 2 offset 2 loop 1 gt offset 190 loop 2 lt 190
  • 如何在没有 jQuery 或延迟加载的情况下推迟背景图像

    根据帕特里克 塞克斯顿tutorial https varvy com pagespeed defer images html 我想以与这里相同的方式推迟背景图像img img src data image png base64 R0lGO
  • 如何在 Java 中创建要打印到 JFrame 的 JLabels 数组

    我正在尝试制作一系列标签 每个标签都有一个来自函数的不同值 我不知道要使用的标签的确切数量 我的意思是可以打印任意数量的值 请帮我做这件事 很简单 只需一个方法返回一个数组或一些 JLabels 集合 并将它们全部添加到您的 JCompon
  • Nodejs 异步 Promise 队列

    我需要使用速率受限的 API 例如 我一秒钟只能进行 10 个 API 调用 因此我需要等待当前秒结束才能进行另一个 API 调用 为了实现这一目标 我想创建一个可以自行管理的异步队列 它的主要功能是让我向队列添加一个新的 Promise
  • 从数组创建树并将父字段的表示形式更改为对象而不是 ID

    我堆满了琐碎的问题 但找不到解决方案 任何帮助将不胜感激 我有一个对象数组 id 1 title home parent null id 2 title about parent null id 3 title team parent 2
  • Trello API - 未经授权的权限请求

    我正在尝试编写一个小脚本来更新卡的当前列表中的时间量 以便我们可以优化吞吐量 我在 jsfiddle 上写了一个小脚本 几乎可以工作 但我得到了一个 请求未经授权的卡许可 当尝试使用时 Trello post cards card id a
  • javascript 加壳器与压缩器

    我想知道加壳器与压缩器的区别 优点是什么 即您应该在网络应用程序中部署压缩版本还是压缩版本 示例代码 var layout NAVVISIBLE 1 Init function this Resize Dimensions function
  • Google 地图 v3 - 阻止 API 加载 Roboto 字体

    Google 将样式添加到地图容器中以覆盖我的样式 我知道如何解决这个问题 但API v3 8 9 exp 还加载了我并不真正需要 想要的网络字体 Roboto 有什么设置 选项 方法可以解决这个问题吗 我可以阻止 API 添加额外的 CS
  • 使用 CSP 防止自动点击链接 XSS 攻击

    当将 CSP 用于稍微不同的目的 沙箱 时 我意识到一个非常简单的自动点击链接似乎甚至可以绕过相对严格的 CSP 我所描述的内容如下 内容安全政策 default src none script src unsafe inline 还有身体
  • 将数组传递给函数名称冲突

    Specs GNU bash 版本 3 1 17 无法升级 Premise 我一直在摆弄数组 我想知道是否有任何方法可以让函数的本地变量与所述函数外部的数组同名 Example 在下面的示例中 我将尝试显示该问题 Working bin b
  • 如何将函数导入到Vue组件中?

    我正在尝试将单个函数导入到我的 Vue 组件中 我为我的函数创建了一个单独的 js 文件 randomId js exports randomId gt My function 在我的 Vue 组件中 我导入了 Random js let

随机推荐

  • 如何将 Google 地图置于纬度和经度位置的中心?

    考虑以下代码 stores click function console log this data latitude 1754 26265626 console log this data longitude 65 262518 cons
  • C# 4.0 的新酷功能 [已关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 你们正在寻
  • Laravel - 如何在 AppServiceProvider 中获取当前用户

    所以我通常让当前用户使用Auth user 当我确定用户是否实际登录时Auth check 但这似乎不适用于我的AppServiceProvider 我用它来跨所有视图共享数据 我var dump both Auth user and Au
  • 无法在 Mac OS X 10.8 上使用 Homebrew FreeTds 捆绑安装tiny_tds

    我的问题我可以采取哪些万无一失的步骤来 100 使其正常工作 我需要真正的指示 而不是简单的答案或对该过程的模糊概念描述 让我们来一探究竟 似乎某些地方存在冲突 并且我从 GitHub 上的 gem 开发人员那里获得了与我使用 Ruby R
  • 对字符串数组使用快速排序

    我是一名编程学生 我不会发布整个作业 而是请求帮助解决我已经尝试了几个小时才能理解的问题 我的任务是使用快速排序方法对字符串数组进行排序 作为这个问题的一部分 我承担的其他所有任务都很好 但是当我通过打印字符串数组来测试排序方法时 它完全混
  • try,catch和finally的执行顺序是什么[重复]

    这个问题在这里已经有答案了 如果我们在try中给出这样的return语句 执行顺序会是怎样的 try return a catch finally 这里如果try中有return的话执行顺序是怎样的 请告诉我 http docs oracl
  • 功能检测是否需要用户手势

    有没有办法检测是否调用play 是否允许在没有用户手势的情况下在视频元素上进行操作 在 Android Chrome 上会出现此警告 Failed to execute play on HTMLMediaElement API can on
  • 在 Blazor 中获取子组件列表的最佳方法

    我们需要获取子组件列表OnAfterRenderAsync父组件的方法 但是我们不知道该怎么做 我们尝试与RenderBuilder and GetFrames但这始终为空 我们有 Splitter 组件 其中 N 个分割区域作为子组件 我
  • 使用 Plist 字典进行应用程序设置

    我希望能够使用 plist 来进行我在应用程序中实现的设置 我想要一个字典 Settings 来保存我的数组 例如 Debug Option 1 Option 2 等 如何访问 Settings 字典下的 Debug 数组 NSArray
  • 导出存档时出错

    我在 Xcode 中使用导出功能时遇到问题 您的帐户已经有分发证书 所以我使用了解决方案xcodebuild 它生成 IPA 文件 但我在控制台中看到 Checking original app usr bin codesign verif
  • 从静态 JSON 加载内容 Next JS

    我有一个 Next JS 项目 其静态 JSON 放置在 pages api data json 中 如下所示 Card title Title 1 content Content 1 title Title 2 content Conte
  • 我可以与 scipy 的 odeint 集成,直到找到局部最大值吗?

    这是我在这里提出的第一个问题 所以请放轻松 我想知道是否有一种方法可以仅在找到指定变量的局部最大值之前集成 ODE 系统 以下是更多细节 我们称我们的 ODE 系统为dX dt F X where X t x1 t x2 t xn t 假设
  • 实体框架更新实体以及子实体(根据需要添加/更新)

    我之间存在多对多关系Issues and Scopes在我的 EF 上下文中 在 ASP NET MVC 中 我打开一个编辑表单 允许用户编辑特定问题 表单底部是一个复选框列表 允许他们选择适用于此问题的范围 当编辑一个问题时 它可能总是已
  • 选择所有直到第一次出现字符

    如果我有数据 其中 a 之前的字符数 总是不同的我怎么写SELECT语句来获取所有字符直到管道字符 样本数据 asdf adkfdll dd asdkdkdk da d WITH T C AS SELECT asdf adkfdll dd
  • 使用大型预编译头文件时 cc1plus.exe 崩溃

    我在使用 MinGW 预编译头文件时遇到问题 编译器似乎找到了预编译头文件 但 cc1plus exe 之后立即崩溃 cc1plus exe 已停止工作 我知道这可能与 cc1plus exe 的堆栈大小较低有关 因此我执行了以下操作来增加
  • 如何取消屏蔽 JavaFX 密码字段或正确屏蔽文本字段?

    在我的用户界面中 我有一个密码字段 http docs oracle com javafx 2 api javafx scene control PasswordField html像这样 呃 最下面那个 我希望用户能够选中您在图片中看到的
  • 更改 window.location.ancestorOrigins

    有什么办法可以改变或阻止使用window location ancestorOrigins在 Chrome 下的 iframe 网站中 出于安全原因 我不希望 iframed 页面能够检测到顶部 url 在 Firefox 下 如果指向另一
  • XCode 4 存档错误:找到一个或多个 PCH 文件,但它们无效

    在此记录一个奇怪的 XCode 4 错误以供将来参考 找到一个或多个 PCH 文件 但它们无效 清理并不能解决问题 您需要通过按住 ALT 并从菜单中选择产品来清理构建文件夹 清理 条目现在已更改为 清理构建文件夹 这将擦除不良的 PCH
  • 对project.json中的依赖关系感到困惑

    在project json 文件中 我们有一个依赖项部分 然后我们还有一个框架部分 其中每个框架下可以有更多依赖项 我很困惑为什么有时依赖项需要放在框架部分而有时需要放在主要依赖项部分 例如 在我的几个项目中 我在 dnxcore50 下有
  • Google Maps API v3 For 循环问题

    也许我完全偏离了我想做的事情 但我很想回到版本 2 因为我可以轻松地工作 但我希望对移动设备友好 我正在尝试生成一些标记 为了保存代码 我将标记生成放入 for 循环中 该循环循环遍历标记数组 有实际值而不是 long lat x x x