0

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 的情况下使用它。

感谢您查看这个!萨弗里斯

4

0 回答 0