GMaps JS 地理编码:通过异步地理编码功能使用/传递变量?

2023-12-08

我有一个位置对象的数组列表,我正在使用其中一些来构建完整的地址,然后对其进行地理编码。一旦我收到 OK 状态,我就会在地图上放置一个标记。这一切都很好。但是,现在我还想在每个标记上放置一个信息窗口,其中包含数组列表中的另一个属性 LocationName。 代码在这里:

function placeMarkers(myObjList){
var geocoder = new google.maps.Geocoder();
for(var i=0; i<myObjList.length; i++){
    var fullAddress = myObjList[i].Address + ", " + myObjList[i].City + ", " + myObjList[i].State + ", " + myObjList[i].Zip;
    /* The variable I would like to have access to in the geocode call */
    var locationName = myObjList[i].LocationName;

    geocoder.geocode( { 'address': fullAddress}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            alert(locationName);
            var marker = new google.maps.Marker({
                map: map,
                position: results[0].geometry.location,
                clickable: true
            });
            markers.push(marker);
        } else {
            alert("Geocode was not successful for the following reason: " + status);
        }
    });
}
}

当我得到状态 OK 时,警报只是查看 locationName 是什么。但在测试中它总是相同的值。一旦我可以调整它以每次反映正确的值,然后我就可以排列代码以将信息窗口放置在标记上。

任何帮助将不胜感激!


最简单的事情可能是在循环中创建一个本地范围块,以便 locationName 实际上引用一个不同的每次添加委托/匿名函数来执行地理编码时的变量。将 var 放入循环中不会创建该变量的新实例,var 声明本质上会移动到封闭范围块的顶部。

for(var i=0; i<myObjList.length; i++){
    var fullAddress = myObjList[i].Address + ", " + myObjList[i].City + ", " + myObjList[i].State + ", " + myObjList[i].Zip;
    //begin scope block
    (function(){
        var locationName = myObjList[i].LocationName;
        var yourObject = myObjList[i];
         //etc.
        geocoder.geocode( ...);
    //end scope block
    })();
}

Edit:

或者,如果您使用某些框架/允许您传递匿名函数来为数组中的每个项目执行代码,那么您会自动处理这种范围问题。

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

GMaps JS 地理编码:通过异步地理编码功能使用/传递变量? 的相关文章

  • Chrome 扩展程序可以相互通信吗?

    我正在编写一个Chrome扩展程序 并且想要实现一个接口或api 以便我将来制作的其他扩展程序可以使用它 最终的效果可能如下 分机 B 呼叫extensionA someMethod someParameters 并向分机A发送一些数据 分
  • jQuery UI Datepicker 奇怪的行为

    我在使用 jqueryUI 使用简单的日期选择器时遇到了一个奇怪的问题 我只想显示两个月的日历 包括上个月和当前月份 我使用了这段代码 function picker datepicker numberOfMonths 2 showCurr
  • 在自动完成上添加 jQuery 延迟

    我正在尝试为应用程序创建 jQuery 自动完成 search input on keyup function search this val autocomplete div autocomplete get ajax search se
  • 从对象中取出具有无效(NaN、空白等)值的键的最佳方法?

    我有一个供用户填写的简短搜索表单 将有多个搜索查询进入 MongoDB 该表单创建一个名为的变量searchParams可能看起来像这样 var searchParams city Springfield bedrooms 3 bathro
  • Pjax动画

    我终于让 pjax 工作了 但我还有另一个问题 如何添加一些 jquery 动画 如淡出 幻灯片旧内容和淡入 幻灯片新内容 默认情况下 pjax 只是更改内容 没有任何好看的效果 任何帮助将非常感激 此致 基本上 你有一堆事件 https
  • Node.js Express 4.0 中的 res.render 回调参数的用途是什么?

    目的是什么res render回调参数 在什么情况下 由于模板已被指定为第一个参数 因此人们会想要使用这样的回调参数 这是文档中的代码 send the rendered view to the client res render inde
  • Rangy:插入符号下的单词(再次)

    我正在尝试创建一个预输入代码以添加到 wysihtml5 富文本编辑器 基本上 我需要能够插入人员 标签引用 例如 Twitter Github Facebook 我发现一些人试图实现同样的事情的代码 http jsfiddle net A
  • 如何将额外的文本添加到颤振谷歌地图自定义标记中?

    问题是如何将自定义谷歌地图标记上的文本重叠与代表车辆登记号的文本融合在一起 我尝试使用此方法将文本叠加在图标上 生成器 上下文 gt 但根本不被认可 class MapsDemo extends StatefulWidget overrid
  • 冒泡可用于图像加载事件吗?

    我可以用吗 window addEventListner 某种程度上来说 我所有的图像都有一个display none 图像加载后 我想设置display inline 这样我就可以规范下载图像时显示的内容 在这种情况下 我无法预加载图像
  • 如何按 Angular 表中的属性(该属性具有单个 rownspan)进行分组?

    我没有找到这个问题的合适标题 我的问题是 例如 我有一个包含两列的表 列汽车品牌和列汽车型号 我希望表是 like in this picture 换句话说 品牌名称只会出现 1 次 我的输入数组采用以下 json 格式 brand Aud
  • 嵌套 DIV 的类似斑马的 CSS 样式

    我嵌套了 DIV 元素 但我不知道嵌套的级别 我需要每个都有与其父级不同的背景 创建类似斑马的颜色 我只使用两种背景 深色和白色 效果需要类似于在容器中设置奇数和偶数子级的样式 但在我的例子中 子级是嵌套的 我可以使用每个嵌套元素的规则来做
  • 引用自身的 Javascript 对象...有问题吗?

    由于 Javascript 允许通过引用分配复合值 因此如果 Javascript 对象引用自身 它将创建无限的引用集 如控制台中所示 这看起来像是某种无限循环 但 Chrome 似乎没有问题 这样做是否存在任何内存问题或其他风险 就记忆力
  • 如何在新窗口中打开图像或pdf文件?

    我有一个 gridview 它包含文件名和文件路径 图像和 pdf 格式文件 其中我使用了模板字段 在该字段下放置了 1 个图像按钮 单击该图像按钮 即 查看 按钮 时 我想在新窗口中打开所选文件 这是我的代码 protected void
  • 在javascript中创建图像的缩略图方块(不丢失纵横比)

    我正在制作一个客户端拖放文件上传脚本作为书签 在上传之前 我使用 File API 将图像读取为 base64 格式并将其显示为缩略图 This is how my thumbnails look like I want them to l
  • Perl Parallel::Forkmanager 不允许收集变量值

    也许因为子进程不知道我的散列 请参阅下面的代码 散列 输出没有收集任何内容 除了写入 tmp 文件之外 还有其他方法来收集该值吗 foreach Item AllItems pid pm gt start Item and next Tem
  • 标记(Markdown)+ Mermaid(流程图和图表)

    努力去争取 美人鱼 https github com knsv mermaid https github com knsv mermaid跟 共事 标记 https github com chjj marked https github c
  • 如何使用 javascript 更改文件扩展名

    有谁知道在 Javascript 中更改文件扩展名的简单方法吗 例如 我有一个带有 first docx 的变量 但我需要将其更改为 first html 这将改变字符串包含文件名 let file first docx file file
  • 使用 File API polyfill 读取数据 URL

    我正在尝试使用文件 API 库 https github com mailru FileAPI https github com mailru FileAPI 作为不支持文件 API 的浏览器的后备 以便将文件作为数据 URL 读取并将其传
  • 使圆圈与 d3.js 上的多线匹配相同的颜色过滤?

    我有一个多线图 当按每种水果过滤时会更新 每条线条颜色对应不同的销售年份 在 的帮助下Shashank https stackoverflow com users 5569282 shashank 每个数据点线上的圆圈已添加到组中 而不是直
  • Keycloak-js updateToken(minValidity) 需要澄清

    我在Keycloak js中阅读了很多该方法的示例 但没有对以下方法进行明确的解释 updateToken minValidity number KeycloakPromise

随机推荐

  • 我可以在 iOS AppStore 上显示 2 个或更多开发者名称吗?

    如果有2个或更多开发者为AppStore开发了应用程序 他们的名字如何同时显示在应用程序下方 另外 他们都需要有一个开发者帐户吗 还是一个就足够了 您需要一份单一的付费开发者协议 只有与 Apple 签订开发者分销协议的实体 个人或公司 的
  • 将 Canvas 元素转换为 Image 并存储在数据库中

    I want to store the Image into my Server side Database Once the user draw using canvas and hit a Submit button Canvas El
  • Android Listview 行重复项

    我有一个列表 在我从共享首选项中获得的特定数字 位置 上应该显示图像视图 指示当前正在播放的歌曲 但我得到了位置 但该项目也显示在其他行上 当我滚动列表时出现问题 当我退出另一项活动时会发生这种情况 并且在我的简历中我会这样 Overrid
  • 与 Azure Postgres 的连接时间较长

    我有 Azure Database for PostgreSQL 服务 PaaS 当我尝试查询它时psql然后甚至简单SELECT从一张表查询大约需要 1 5 秒 当我在 postgres 控制台中时 没有问题 查询执行时间不到 100 毫
  • 使用ggplot2,我可以在轴中插入断点吗?

    我想制作一个条形图 其中一个值比所有其他值大得多 有没有办法让y轴不连续 我的数据如下 df lt data frame a c 1 2 3 500 b c a1 a2 a3 a4 p lt ggplot data df aes x b y
  • 检查 PHP 多维数组中是否存在数组值

    我有以下多维数组 Array 0 gt Array id gt 1 name gt Jonah points gt 27 1 gt Array id gt 2 name gt Mark points gt 34 我目前正在使用foreach
  • 在 C++ 中使用 getline 忽略空格[重复]

    这个问题在这里已经有答案了 嘿 我正在尝试编写一个程序 该程序将接受人们的新任务 将其添加到堆栈中 能够显示任务 能够将该堆栈保存到文本文件中 然后读取文本文件 当我尝试接受用户的输入时 问题就出现了 每当您输入带有空格的字符串时 选择要执
  • 创建自定义 tomcat 会话管理器而不将 jar 放入 CATALINA_HOME 目录?

    我正在为 Tomcat 开发一个自定义会话管理器 并且我让它工作时有一个警告 我必须将 jar 以及所有相关的 jar 放在 CATALINA HOME lib 目录中 否则我会得到一个 noclassdef 发现异常 即使类位于 WEB
  • PHPExcel 创建“不可读的内容”

    我尝试了大约 1000 种不同的方法来解决这个问题 如果其他人能够发现问题 我们将不胜感激 我有使用 PHPExcel 的代码 可以生成多个 Excel 工作表并将它们保存到磁盘 使用 MS Excel 2010 打开第二个文件及以后的所有
  • Images.xcassets 为 iPhone 6 拍摄了错误的图像?

    我已经为 2x Retina 4 和 3x 设置了三个图像 当我运行该应用程序时 我得到以下结果 iPhone 4s 推特图像 iPhone 5 谷歌图片 iPhone 6 脸书图片 iPhone 6 推特图像 一切都很好 但是当我跑在iP
  • 使用 JMESPATH 获取对象上的 JSON 元素的查询

    当我有一个简单的 JSON 时 例如 name Tom age 20 是否有任何 JMESPath 查询可以获取age只有当name is Tom 查询应该得到20与上面的 JSON 一起 但是 如果名字不是Tom like name Bo
  • 为什么在平移和更改相机角度时我的有线球体会变成椭球体?

    我需要沿 z 轴来回平移有线球体 同时更改相机角度 每当我的球体被平移时 它就会慢慢变成椭球体 我实在不明白为什么 在这里您可以看到我认为有错误的代码片段 此外 调整窗口大小时不应更改形状 而只能更改其大小 void init glClea
  • Android 中的全文搜索示例

    我很难理解如何在 Android 上使用全文搜索 FTS 我读过有关 FTS3 和 FTS4 扩展的 SQLite 文档 而且我知道在Android上可以做到 然而 我很难找到任何我能理解的例子 基本数据库模型 一个 SQLite 数据库表
  • iPhone 亮度私有 API 无法正常工作

    我正在尝试设置背光的亮度 但它的表现非常奇怪 我正在使用私有 API id UIApplication共享应用 setBacklightLevel 1 0f 然而 当我调用此命令时 屏幕变暗 并没有像我想象的那样变得 100 亮 我用各种数
  • 匹配除电子邮件地址之外的所有内容的正则表达式

    假设这是输入 这是一个段落 这是一个段落 这是一个段落 这是一个段落 这是一个段落 这是一个段落 这是一个电子邮件地址 电子邮件受保护 我想要一个匹配除电子邮件地址之外的所有内容的正则表达式 我努力了 这会匹配除电子邮件所在的 LINE 之
  • 是否有缺少固定宽度类型 (intXX_t) 的平台?

    C 11 具有固定宽度 2 的补码类型 u int8 t u int16 t etc 然而 这些类型是可选的 有时我需要使用这些类型 因此我的代码可能不太可移植 有没有什么平台 提供 C 11 编译器 目前 哪些类型不存在 是否有任何 通用
  • Android 长按滚动

    我想将长按与滚动 连接 这样用户就不必释放屏幕并开始滚动 我已经实现了手势检测器 final GestureDetector gestureDetector new GestureDetector new GestureDetector S
  • 未找到 Apple-app-site-association

    我正在尝试通过Apple 搜索验证工具 并且我在使用 apple app site association 时遇到问题 由于某种原因 机器人找不到我的文件 但如果你打开 URL 它就在那里 这不是格式问题 因为甚至找不到该文件 我有 htt
  • 将 JSON 驼峰式大小写转换为蛇形大小写(反之亦然)并将数值字符串化

    我必须向 Web REST 服务发送和接收 JSON 对象 这些对象由 DLL 生成 该 DLL 将属性名称序列化为大驼峰式命名法 PropertyName 而 Web 服务需要蛇形命名法 property name 另外 DLL 将数值序
  • GMaps JS 地理编码:通过异步地理编码功能使用/传递变量?

    我有一个位置对象的数组列表 我正在使用其中一些来构建完整的地址 然后对其进行地理编码 一旦我收到 OK 状态 我就会在地图上放置一个标记 这一切都很好 但是 现在我还想在每个标记上放置一个信息窗口 其中包含数组列表中的另一个属性 Locat