使用 Google 地图地理编码器对国家/地区的地址和组件进行限制
Using Google maps geocoder with address and component restrictions for country
我的表单上有一个字段正在使用 google 自动完成功能
new window.google.maps.places.Autocomplete(location, { types: ['geocode'] });
但如果用户没有 select 自动完成下拉菜单,我需要 google 地图地理编码器在提交表单时进行搜索。我希望我的用户 select 世界任何地方的街道、城镇、城市、街区等!
var navbarGeocoder = new google.maps.Geocoder();
navbarGeocoder.geocode({
'address': location.value
}, function(results, status) {
但现在我希望能够使用国家 (US) 的 componentRestriction 将地理编码器限制为美国(街道、社区、城市、城镇等),但是当我在下面尝试时它只是挂起!
var navbarGeocoder = new google.maps.Geocoder();
navbarGeocoder.geocode({
'address': location.value
}, {
componentRestrictions: {
country: ' US'
}
}, function(results, status) {
if (status === google.maps.GeocoderStatus.OK) {
// do something
} else {
// do something
}
});
有没有合适的方法添加组件限制并且仍然有地址字段?如有任何帮助,我们将不胜感激!
我正在使用此 link 到 google 站点获取文档,组件限制中是否有一个字段类似于地址字段?
通过查看您提供的文档,我认为您的问题实际上可能非常简单 - 尽管我还没有亲自测试过。无论如何,如果您向上滚动到 "Geocoding requests" 部分,您将看到以下代码。
{
address: string,
location: LatLng,
placeId: string,
bounds: LatLngBounds,
componentRestrictions: GeocoderComponentRestrictions,
region: string
}
因此,我认为您只需将 componentRestrictions 字段与实际地址放在同一个数组中即可。
让我知道是否有帮助:)
所以试试这个,而不是你发布的内容......
var navbarGeocoder = new google.maps.Geocoder();
navbarGeocoder.geocode({
'address': location.value,
componentRestrictions: {
country: ' US'
}
},
我想通了。
下面是代码片段!
navbarGeocoder.geocode({
address: location.value,
componentRestrictions: {
country: ' US'
}
}, function(results, status) {
我的表单上有一个字段正在使用 google 自动完成功能
new window.google.maps.places.Autocomplete(location, { types: ['geocode'] });
但如果用户没有 select 自动完成下拉菜单,我需要 google 地图地理编码器在提交表单时进行搜索。我希望我的用户 select 世界任何地方的街道、城镇、城市、街区等!
var navbarGeocoder = new google.maps.Geocoder();
navbarGeocoder.geocode({
'address': location.value
}, function(results, status) {
但现在我希望能够使用国家 (US) 的 componentRestriction 将地理编码器限制为美国(街道、社区、城市、城镇等),但是当我在下面尝试时它只是挂起!
var navbarGeocoder = new google.maps.Geocoder();
navbarGeocoder.geocode({
'address': location.value
}, {
componentRestrictions: {
country: ' US'
}
}, function(results, status) {
if (status === google.maps.GeocoderStatus.OK) {
// do something
} else {
// do something
}
});
有没有合适的方法添加组件限制并且仍然有地址字段?如有任何帮助,我们将不胜感激!
我正在使用此 link 到 google 站点获取文档,组件限制中是否有一个字段类似于地址字段?
通过查看您提供的文档,我认为您的问题实际上可能非常简单 - 尽管我还没有亲自测试过。无论如何,如果您向上滚动到 "Geocoding requests" 部分,您将看到以下代码。
{
address: string,
location: LatLng,
placeId: string,
bounds: LatLngBounds,
componentRestrictions: GeocoderComponentRestrictions,
region: string
}
因此,我认为您只需将 componentRestrictions 字段与实际地址放在同一个数组中即可。 让我知道是否有帮助:)
所以试试这个,而不是你发布的内容......
var navbarGeocoder = new google.maps.Geocoder();
navbarGeocoder.geocode({
'address': location.value,
componentRestrictions: {
country: ' US'
}
},
我想通了。
下面是代码片段!
navbarGeocoder.geocode({
address: location.value,
componentRestrictions: {
country: ' US'
}
}, function(results, status) {