这个问题可能看起来很熟悉:我有一个地方的纬度和经度 . 我需要得到国家的名字 . 我知道我必须使用reverse geo coding . 但我的问题是,有时它会返回该地区或国家的缩写形式(例如美国代表美国,CA代表加州) . 有什么方法可以得到 full name of the country 吗?我不能通过这个简短的表格与我预存的国家数据库进行匹配操作 .
这个问题可能看起来很熟悉:我有一个地方的纬度和经度 . 我需要得到国家的名字 . 我知道我必须使用reverse geo coding . 但我的问题是,有时它会返回该地区或国家的缩写形式(例如美国代表美国,CA代表加州) . 有什么方法可以得到 full name of the country 吗?我不能通过这个简短的表格与我预存的国家数据库进行匹配操作 .
4 回答
地理编码器响应通常会返回几个
results
,其中包括街角,十字路口,县和其他替代表示名称 . 我发现results[0]
是最好的描述 .诀窍是在结果中搜索“country” . 然后可以检索long_name .
Click on the map
JSON数组通常包括
long_name
和short_name
. 你应该能够提取两个......这是一个适用于谷歌街道 Map 和开放街道 Map 的JSON / XML解析器 .
(唯一的问题是它需要一个JSON或XML对象作为“回复”,它在版本3谷歌和0.6开放街道 Map 上测试,它运作良好)
注意:它返回一个对象location.lat或location.lon你也可以让它返回你想要的任何其他字段 .
JSON.parse(text)//其中text是来自google或开放街道 Map 的回复XML.parse(text)//你可以自己将回复转换为XML或使用正则表达式来解析它 . 如果某人有正则表达式版本来解析文本回复也可能有帮助 .