我列出了与省份和国家不一致的北美城市名单。例如:
我想格式化每个城市,使其遵循一致的模式。因此它包括城市州/省和国家。像:
我尝试使用Google的Places API来获取可能格式化的建议,但我能够实现的是一种验证,表明这样的城市是否存在。我想知道是否有人广泛使用Google API可以指导我如何从城市输入中获取城市/省/州/国家建议(可能是JSON格式)。
var input = "City Name";
var service = new google.maps.places.AutocompleteService();
service.getQueryPredictions({ input: input }, callback});
我试着调查geocoding,但这似乎带回了lat / log信息。
答案 0 :(得分:3)
地理编码API就是您想要的。
尝试
http://maps.googleapis.com/maps/api/geocode/json?address=Calgary,%20Alberta&sensor=false
它将以多种方式返回完全格式化的地址信息(按行政级别划分,格式化为地址等)
{
"results" : [
{
"address_components" : [
{
"long_name" : "Calgary",
"short_name" : "Calgary",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Division No. 6",
"short_name" : "Division No. 6",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Alberta",
"short_name" : "AB",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "Kanada",
"short_name" : "CA",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "Calgary, Alberta, Kanada",
formatted_address
组件是德语(“Kanada”),因为我的浏览器语言是德语。您可以使用hl
参数定义输出应该使用哪种语言。
请注意,从技术上讲,根据他们的T& C,使用地理编码API只允许准备数据以便在Google地图上显示。