2015-04-22 86 views
0

我正在创建一个桌面c#应用程序,将创建测试文件,但我的问题是文件需要有有效的地址。有没有一种方法可以使用Google地图API中的一个来获取要创建的文件的有效地址?使用谷歌地图API生成有效地址?

回答

2

您可以使用Google Geocoder API将地址传递给它并接收位置上的数据,例如lat &长坐标,具体的地址详细信息等等。有了这些数据,您可以验证是否让我们说你想要限制某个国家或城市的地址。唯一的缺点是每天的请求有限,但应该足够了。

该API非常广泛,但我会在下面提供一些链接,以便您对此有所了解。

文档:https://developers.google.com/maps/documentation/geocoding/
实施例:https://developers.google.com/maps/documentation/javascript/examples/geocoding-simple
又如:http://gmaps-samples.googlecode.com/svn/trunk/geocoder/singlegeocode.html

编辑:条上地址验证使用地理编码:http://blog.mgm-tp.com/2011/08/address-validation-with-geocoding/
编辑2:这里是在相同的另一StackOverflow的文章话题:Address validation using Google Maps API

示例回应如下:

{ 
    "results" : [ 
     { 
     "address_components" : [ 
      { 
       "long_name" : "Winnetka", 
       "short_name" : "Winnetka", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "New Trier", 
       "short_name" : "New Trier", 
       "types" : [ "administrative_area_level_3", "political" ] 
      }, 
      { 
       "long_name" : "Cook County", 
       "short_name" : "Cook County", 
       "types" : [ "administrative_area_level_2", "political" ] 
      }, 
      { 
       "long_name" : "Illinois", 
       "short_name" : "IL", 
       "types" : [ "administrative_area_level_1", "political" ] 
      }, 
      { 
       "long_name" : "United States", 
       "short_name" : "US", 
       "types" : [ "country", "political" ] 
      } 
     ], 
     "formatted_address" : "Winnetka, IL, USA", 
     "geometry" : { 
      "bounds" : { 
       "northeast" : { 
        "lat" : 42.1282269, 
        "lng" : -87.7108162 
       }, 
       "southwest" : { 
        "lat" : 42.0886089, 
        "lng" : -87.7708629 
       } 
      }, 
      "location" : { 
       "lat" : 42.10808340000001, 
       "lng" : -87.735895 
      }, 
      "location_type" : "APPROXIMATE", 
      "viewport" : { 
       "northeast" : { 
        "lat" : 42.1282269, 
        "lng" : -87.7108162 
       }, 
       "southwest" : { 
        "lat" : 42.0886089, 
        "lng" : -87.7708629 
       } 
      } 
     }, 
     "place_id" : "ChIJW8Va5TnED4gRY91Ng47qy3Q", 
     "types" : [ "locality", "political" ] 
     } 
    ], 
    "status" : "OK" 
} 
+0

所以没有办法从api获取有效的地址数据而没有任何东西可以比较它?我有一些我知道的地址是有效的,我希望用它来获取国际地址来测试一些功能。感谢您花时间帮助回答我的问题! – Mitch

+0

从链接的StackOverflow文章中,所有顶级推荐都与我的类似,并且它们使用Google地理编码API。我建议你将这个API用于应用程序,因为如果你将一个无效地址放入Geocoder中,你将不会收到正确的响应,从而推断出一个无效的地址。此外,如果地址来自某个特定的国家,您通常不会成为您的应用程序的一部分,可能会为您提供一个标志,并且您可以向应用程序发送验证消息以进行手动验证。 –