Google Maps JS API Geocoder Class 结果不正确
Incorrect Results with Google Maps JS API Geocoder Class
我在使用 Google 地图 Javascript API 的地理编码器 class 时遇到问题,使用 componentRestrictions
.
简而言之,我试图让用户输入一个地址并在特定地区找到该地址。
我将一个字符串作为地址传递给地理编码对象文字。
然后我使用 componentRestrictions
.
中的 locality
属性 将搜索限制为仅 "New York" 城市
所以我的代码是这样的:
geocoder.geocode(
{address: address,
componentRestrictions: {
locality: 'New York'
}
}, function(results, status) {
console.log(results);
}
);
当传递特定地址时,例如 'E 64th St & 5th Ave'
,它 returns 中央公园动物园位置的正确结果。
但是,如果我使用更模糊的地址作为地址,例如 'East Village'
,它 returns 是纽约市政厅所在位置的结果。
如果我删除 componentRestrictions
属性,并传递与 'East Village'
相同的地址,它 returns 是 East Village 的正确位置。
这个陌生人的原因是我正在使用 course through Udacity, taught by Google developers. Their code can be found here on GitHub.
中提供的代码
当我 运行 他们的代码与他们提供的完全一样时,我 运行 遇到了与我自己的代码相同的问题。
但在他们的课程视频中,它工作正常。
看起来 API 中的某些内容自从他们创建此课程以来可能已经更改,因此我可能错误地使用了 componentRestrictions。
有没有人遇到过这样的问题并找到了解决方案?
还是我使用的代码不正确?
感谢您的帮助!
Google 已于 2016 年 11 月发布了新版本的地理编码器。新版本不完全支持地址组件。
查看此文档,该文档解释了组件过滤在新版本中的工作原理:
https://developers.google.com/maps/documentation/geocoding/faq#trbl_component_filtering
In the new geocoder, component filtering is only fully supported for address-level results. There is partial support for country code (for example, components=country:GB) and postal code restrictions for locality and higher-level results.
我在使用 Google 地图 Javascript API 的地理编码器 class 时遇到问题,使用 componentRestrictions
.
简而言之,我试图让用户输入一个地址并在特定地区找到该地址。
我将一个字符串作为地址传递给地理编码对象文字。
然后我使用 componentRestrictions
.
locality
属性 将搜索限制为仅 "New York" 城市
所以我的代码是这样的:
geocoder.geocode(
{address: address,
componentRestrictions: {
locality: 'New York'
}
}, function(results, status) {
console.log(results);
}
);
当传递特定地址时,例如 'E 64th St & 5th Ave'
,它 returns 中央公园动物园位置的正确结果。
但是,如果我使用更模糊的地址作为地址,例如 'East Village'
,它 returns 是纽约市政厅所在位置的结果。
如果我删除 componentRestrictions
属性,并传递与 'East Village'
相同的地址,它 returns 是 East Village 的正确位置。
这个陌生人的原因是我正在使用 course through Udacity, taught by Google developers. Their code can be found here on GitHub.
中提供的代码当我 运行 他们的代码与他们提供的完全一样时,我 运行 遇到了与我自己的代码相同的问题。
但在他们的课程视频中,它工作正常。
看起来 API 中的某些内容自从他们创建此课程以来可能已经更改,因此我可能错误地使用了 componentRestrictions。
有没有人遇到过这样的问题并找到了解决方案?
还是我使用的代码不正确?
感谢您的帮助!
Google 已于 2016 年 11 月发布了新版本的地理编码器。新版本不完全支持地址组件。
查看此文档,该文档解释了组件过滤在新版本中的工作原理:
https://developers.google.com/maps/documentation/geocoding/faq#trbl_component_filtering
In the new geocoder, component filtering is only fully supported for address-level results. There is partial support for country code (for example, components=country:GB) and postal code restrictions for locality and higher-level results.