任何人都知道google places的ISO格式会返回地区对象short_name for region?
我有这段代码:
var place = places.getPlace();
var type = place.address_components[0].types[0];
switch(type) {
case 'country': document.getElementById('country').value=place.address_components[0].short_name;
break;
case 'locality':
document.getElementById('town').value=place.address_components[0].long_name;
break;
default: //when is not a country or a city
document.getElementById('regioncode').value=place.address_components[0].short_name
如果是某个地区/县,它会得到它的shor_name,但在某些情况下,它会返回一个代码,例如搜索“Balearic Islands,Spain”它会返回“PM”(代表ISO 3166-2:ES) ,但如果我搜索“Kalmarlän,Sweden”,我得到的short_name与long_name完全相同,这是“卡尔马县”而不是“H”(代表ISO 3166-2:SE)所以我的问题是:为什么谷歌有时候返回区域/县的ISO 3166-2值,有时返回long_name值,这背后是否有任何逻辑?我可以强制只返回short_names的ISO值吗?谢谢
答案 0 :(得分:0)
short_name是地址组件的缩写文本名称, 如果可供使用的话。例如,状态的地址组件 阿拉斯加可能有一个很长的阿拉斯加"阿拉斯加"和" AK"的短名称运用 2个字母的邮政缩写。
这里的关键词是"如果可用"。卡尔马县一定不能有短名称