gpt4 book ai didi

google-maps - Google Maps API Geocoder 组件限制语法

转载 作者:行者123 更新时间:2023-12-04 01:52:46 26 4
gpt4 key购买 nike

我在将 componentRestrictions 参数添加到 Google Maps Geocoder 对象时遇到问题。我正在使用 JavaScript 客户端 api。具体来说,administrativeArea属性(property)对我不起作用。 Docs说 type 是一个字符串,我尝试了很多组合,但仍然没有运气。

这是我的地理编码功能:

function geocodeAddress(geocoder, resultsMap) {
var address = document.getElementById('address').value;
geocoder.geocode({'address': address, 'componentRestrictions': {administrativeArea: 'Maricopa County'}}, function(results, status) {
if (status === 'OK') {
resultsMap.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: resultsMap,
position: results[0].geometry.location
});
console.log(results)
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}

我可以使用其他 componentRestriction 属性,例如 postalCodecountry ,但不是 administrativeArea .文档说该属性匹配所有 administrative_area levels ,所以我尝试使用不同的美国县和不同的美国州,但无法使其正常工作。我想我的语法错误,任何帮助将不胜感激!

最佳答案

你的代码是正确的。不幸的是,前段时间组件过滤行为发生了重要变化。看起来 Maps JavaScript API 文档尚未更新有关组件限制的信息。
我建议查看更新的相应 Web 服务文档并说明以下内容

The components that can be filtered include:

  • postal_code matches postal_code and postal_code_prefix.

  • country matches a country name or a two letter ISO 3166-1 country code. Note: The API follows the ISO standard for defining countries, and the filtering works best when using the corresponding ISO code of the country.

The following components may be used to influence results, but will not be enforced:

  • route matches the long or short name of a route.

  • locality matches against locality and sublocality types.

  • administrative_area matches all the administrative_area levels.


来源: https://developers.google.com/maps/documentation/geocoding/intro#ComponentFiltering
因此,正如您所看到的,行政区域不再是一个严格的过滤器。目前唯一可用的严格过滤器是邮政编码和国家/地区。
希望我的回答能解开你的疑惑。

关于google-maps - Google Maps API Geocoder 组件限制语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52157513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com