我们能否让谷歌地图Javascript地理编码API v3在响应中返回自定义标识符

Can we make Google Maps Javascript Geocoding API v3 return a custom identifier in the response?

本文关键字:响应 v3 返回 标识符 自定义 API 编码 谷歌地图 Javascript 我们      更新时间:2023-09-26

我有一堆地址(字符串数组),我将它们写入页面变量并准备好,为每个地址进行geocoder.geocode({'address': address}, callback)调用。我还绘制了最初加载的地址表。并非所有这些地址都是"有效"*地址,因此并非所有地址都在地图上有标记。

我想更新表格以仅显示已映射的地址,并希望能够在单击标记时突出显示表中的相应行。我需要的是,在我最初拥有的地址和标记的地址之间建立某种联系。

我希望我能够传递一个自定义标识符值,我可以传递给geocoder.geocode()该值将以results返回,我可以在callback函数中使用

有什么想法吗?

*

**有效是某些业务条件的简化术语

一种方法是使用Function Closure

function my_geocoder(address) {
    geocoder.geocode( { 'address': address}, function(results, status) {
       //do something with the geocoder responce here. 
       //you also still have access to the `address` variable to do what you will. 
    });
}
...
for(....) {
    my_geocoder(address);
}

它可以在没有函数闭包的情况下完成,但这种模式使它变得容易。(其他方法很容易被绊倒)。(如果是迂腐的,它实际上不是功能闭包,它的可变范围,但再次与闭包相结合,避免了一些陷阱)