Gmail/Contacts 在将此地址解析为特定地址字段方面做得很好。
7 Prasad Road, Narimedu, 马杜赖, 泰米尔纳德邦, 印度
准确解析为: 街道:7 Prasad Road 社区:Narimedu 市:马杜赖 州/省:泰米尔纳德邦,国家:印度
反正有没有使用谷歌地图联系人 API 来将自由文本转换成这样的地址字段?
还有一点需要注意:这是为了非营利组织。不是商业网站。
我担心使用地理编码来近似,因为我们在全球范围内工作,而谷歌地图在某些国家/地区找到正确位置时不太准确。我仍然不想丢失用户输入的信息。通常我们需要能够按城市和州过滤地址,因此需要准确解析这些地址。其余部分不应丢失。通过地理编码,我发现它会格式化地址以删除它不理解的字段。在 gmail 联系人中,它不理会它并解析它能够解析的内容。
谢谢,萨弗里斯
更新:谷歌地图 api 能够从用户输入的内容中获取社区、城市、州、国家。当我通过这样做点击 api 时:http://maps.googleapis.com/maps/api/geocode/json?address=B19/F1%20Vigyanapuri,%20Vidyanagar,%20Hyd%20500044%20,India&sensor=false,它然后返回以下结果:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Vigyanpuri Colony Park",
"short_name" : "Vigyanpuri Colony Park",
"types" : [ "point_of_interest", "establishment" ]
},
{
"long_name" : "APHB Colony",
"short_name" : "APHB Colony",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "Adikmet",
"short_name" : "Adikmet",
"types" : [ "sublocality", "political" ]
},
{
"long_name" : "Hyderabad",
"short_name" : "HYD",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Hyderabad",
"short_name" : "Hyderabad",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Andhra Pradesh",
"short_name" : "Andhra Pradesh",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "India",
"short_name" : "IN",
"types" : [ "country", "political" ]
},
{
"long_name" : "500044",
"short_name" : "500044",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "Vigyanpuri Colony Park, APHB Colony, Adikmet, Hyderabad, Andhra Pradesh 500044, India",
"geometry" : {
"location" : {
"lat" : 17.40368240,
"lng" : 78.51184130
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 17.41432930,
"lng" : 78.52784870000001
},
"southwest" : {
"lat" : 17.39303490,
"lng" : 78.49583389999999
}
}
},
"partial_match" : true,
"types" : [ "point_of_interest", "park", "establishment" ]
}
],
"status" : "OK"
}
但我只是不确定在多大程度上相信这一点——据我所知,这似乎是准确的。我想获取用户输入的地址并使用 google maps api 对其进行解析,然后将其大致放在地图上,如果我错了,请他们纠正我。在 Gmail/Contacts 中,我可以将地址添加为文本字段,并通过“街道地址”解析它,无论它无法解析,然后如果它找到一个准确的城市,它就会将其放入,与 State 相同/省。我只是不确定它如何能够将所有内容留在街道地址中,它无法解析的内容。Google 的联系人 API 是否允许我们在不将联系人保存到 Google 的情况下使用它。
感谢您查看这个!萨弗里斯