地区/县谷歌地方代码?

时间:2015-08-11 10:29:10

标签: google-maps google-places-api

任何人都知道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值吗?谢谢

1 个答案:

答案 0 :(得分:0)

根据Google Documentation

  

short_name是地址组件的缩写文本名称,   如果可供使用的话。例如,状态的地址组件   阿拉斯加可能有一个很长的阿拉斯加"阿拉斯加"和" AK"的短名称运用   2个字母的邮政缩写。

这里的关键词是"如果可用"。卡尔马县一定不能有短名称