Par*_*Par 13 javascript google-maps google-maps-api-3
我正在使用Google Maps API获取城市和国家/地区的自动填充列表(没有其他详细信息),而且效果很好.
var input = document.getElementById('newAddress');
var options = {
types: ['(cities)']
};
autocomplete = new google.maps.places.Autocomplete(input, options);
Run Code Online (Sandbox Code Playgroud)
现在我想完全相同,但只获得国家名称.像财产以后更换types: ['(cities)'] 与 types: ['(countries)']...
(我试过,但没有工作)
我应该怎么做才能让国家/地区进入我的自动填充功能?
wmo*_*ock 22
我一直在使用谷歌自动完成API,这是我能找到的最佳解决方案,只能将结果限制在国家/地区:
var autocomplete = new google.maps.places.Autocomplete(input, options);
var result = autocomplete.getPlace();
console.log(result); // take a look at this result object
console.log(result.address_components); // a result has multiple address components
for(var i = 0; i < result.address_components.length; i += 1) {
var addressObj = result.address_components[i];
for(var j = 0; j < addressObj.types.length; j += 1) {
if (addressObj.types[j] === 'country') {
console.log(addressObj.types[j]); // confirm that this is 'country'
console.log(addressObj.long_name); // confirm that this is the country name
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果你查看返回的结果对象,你会看到有一个address_components数组,它将包含代表地址不同部分的几个对象.在每个对象中,它将包含一个'types'数组,在这个'types'数组中,你会看到与地址相关的不同标签,包括一个国家的标签.
没有快速解决方案,因为Google只提供两种类型的集合:['(cities)']和['(regions)']
没有['(国家)']可用.
此处的文档:https://developers.google.com/places/documentation/autocomplete#place_types
编辑:
您也可以使用来自此网址的自动完成插件:http://www.geognos.com/api/en/countries/info/all.json