转https://blog.csdn.net/zkdemon/article/details/7019117

Google Geocoding API    http://code.google.com/intl/zh-CN/apis/maps/documentation/geocoding/

地址解析请求

Google Geocoding API 请求必须采用以下形式:

http://maps.google.com/maps/api/geocode/output?parameters

其中,output 可以是以下值之一:

  • json(建议)表示以 JavaScript 对象表示法 (JSON) 的形式输出
  • xml 表示以 XML 的形式输出

有些参数是必需的,有些是可选的。根据网址的标准,所有参数均使用字符 & (&) 分隔。下面枚举了这些参数及其可能的值。

Google Geocoding API 使用以下网址参数定义地址解析请求:

  • address(必需)- 您要进行地址解析的地址。*

    或者

  • latlng(必需)- 您希望获取的、距离最近的、可人工读取地址的纬度/经度文本值。*
  • bounds(可选)- 要在其中更显著地偏移地址解析结果的可视区域的边框。(有关详细信息,请参见下文的可视区域偏向。)
  • region(可选)- 区域代码,指定为 ccTLD(“顶级域”)双字符值。(有关详细信息,请参见下文的区域偏向。)
  • language(可选)- 传回结果时所使用的语言。请参见支持的区域语言列表。请注意,我们会经常更新支持的语言,因此该列表可能并不详尽。如果未提供language,地址解析器将尝试尽可能使用发送请求的区域的本地语言。
  • sensor(必需)- 指示地址解析请求是否来自装有位置传感器的设备。该值必须为 true 或 false

* 请注意:您可以传递 address 或 latlng 进行查找。(如果传递 latlng,则地址解析器执行反向地址解析。有关详细信息,请参阅反向地址解析。)

bounds 和 region 参数只会影响地址解析器返回的结果,但不能对其进行完全限制。

地址解析响应

地址解析响应将以网址请求路径中的 output 标记所指示的格式传回。

JSON 输出格式

在此示例中,Google Geocoding API 为针对“1600 Amphitheatre Parkway, Mountain View, CA”的查询请求一个 json 响应:

http://maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true_or_false

在此示例中,我们将 sensor 参数设为变量“true_or_false”以强调您必须将该值显式设置为 true 或 false

此请求传回的 JSON 如下所示。请注意,实际的 JSON 可能包含较少的空白。您不应假定请求之间的空白的数量或格式。

{"status": "OK","results": [ {"types": [ "street_address" ],"formatted_address": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA","address_components": [ {"long_name": "1600","short_name": "1600","types": [ "street_number" ]}, {"long_name": "Amphitheatre Pkwy","short_name": "Amphitheatre Pkwy","types": [ "route" ]}, {"long_name": "Mountain View","short_name": "Mountain View","types": [ "locality", "political" ]}, {"long_name": "California","short_name": "CA","types": [ "administrative_area_level_1", "political" ]}, {"long_name": "United States","short_name": "US","types": [ "country", "political" ]}, {"long_name": "94043","short_name": "94043","types": [ "postal_code" ]} ],"geometry": {"location": {"lat": 37.4219720,"lng": -122.0841430},"location_type": "ROOFTOP","viewport": {"southwest": {"lat": 37.4188244,"lng": -122.0872906},"northeast": {"lat": 37.4251196,"lng": -122.0809954}}}} ]
}

请注意,JSON 响应包含两个根元素:

  • "status" 包含请求中的元数据。请参见下文的状态代码。
  • "results" 包含一个经过地址解析的地址信息和几何图形信息的数组。

通常,对于地址查询,只会在 "results" 数组中传回一个条目,但在进行模糊地址查询时,地址解析器可能会传回多个结果。

请注意,如果您希望从结果中提取值,则这些结果通常需要进行解析。解析 JSON 相对来说较容易。有关一些设计模式建议,请参见解析 JSON。

XML 输出格式

在此示例中,Google Geocoding API 为上面所示的相同查询(针对“1600 Amphitheatre Parkway, Mountain View, CA”)请求一个 xml 响应:

http://maps.google.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true_or_false

此请求传回的 XML 如下所示:

<GeocodeResponse> <status>OK</status> <result> <type>street_address</type> <formatted_address>1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA</formatted_address> <address_component> <long_name>1600</long_name> <short_name>1600</short_name> <type>street_number</type> </address_component> <address_component> <long_name>Amphitheatre Pkwy</long_name> <short_name>Amphitheatre Pkwy</short_name> <type>route</type> </address_component> <address_component> <long_name>Mountain View</long_name> <short_name>Mountain View</short_name> <type>locality</type> <type>political</type> </address_component> <address_component> <long_name>San Jose</long_name> <short_name>San Jose</short_name> <type>administrative_area_level_3</type> <type>political</type> </address_component> <address_component> <long_name>Santa Clara</long_name> <short_name>Santa Clara</short_name> <type>administrative_area_level_2</type> <type>political</type> </address_component> <address_component> <long_name>California</long_name> <short_name>CA</short_name> <type>administrative_area_level_1</type> <type>political</type> </address_component> <address_component> <long_name>United States</long_name> <short_name>US</short_name> <type>country</type> <type>political</type> </address_component> <address_component> <long_name>94043</long_name> <short_name>94043</short_name> <type>postal_code</type> </address_component> <geometry> <location> <lat>37.4217550</lat> <lng>-122.0846330</lng> </location> <location_type>ROOFTOP</location_type> <viewport> <southwest> <lat>37.4188514</lat> <lng>-122.0874526</lng> </southwest> <northeast> <lat>37.4251466</lat> <lng>-122.0811574</lng> </northeast> </viewport> </geometry> </result>
</GeocodeResponse> 

请注意,XML 响应包含一个 <GeocodeResponse> 和两个顶级元素:

  • <status> 包含请求中的元数据。请参见下文的状态代码。
  • 零或多个 <result> 元素,每个元素都包含单独的一组地址解析地址信息和几何图形信息。

请注意,此响应要比 JSON 响应长很多。有鉴于此,我们建议您使用 json 作为首选输出标记,除非您的服务由于某种原因要求使用 xml。此外,在处理 XML 树时要小心,确保引用正确的节点和元素。有关用于输出处理的一些建议设计模式,请参见使用 XPath 解析 XML。

本文档的其余部分将使用 JSON 语法。在大多数情况下,对于说明本文档中的概念或字段名称,输出格式并不是很重要。不过,请注意以下细微差别:

  • XML 结果封装在一个根 <GeocodeResponse> 元素中。
  • JSON 通过复数形式的数组 (types) 表示多个元素的条目,而 XML 使用多个单数形式的元素 (<type>) 表示这些条目。
  • 空白元素在 JSON 中通过空数组表示,而在 XML 中通过不存在此类元素来表示。例如,在 JSON 中,未生成任何结果的响应将传回一个空 results 数组,但在 XML 中则不含 <result> 元素。

状态代码

地址解析响应对象中的 "status" 字段包含请求的状态,并且可能包含调试信息,以帮助您追溯地址解析未正常工作的原因。"status" 字段可能包含以下值:

  • "OK" 表示未发生错误;地址成功进行了解析并且至少传回了一个地址解析结果。
  • "ZERO_RESULTS" 表示地址解析成功,但未返回结果。如果地址解析过程中传递的偏远位置 address 或 latlng 并不存在,则会出现 种情况。
  • "OVER_QUERY_LIMIT" 表示您超出了配额。
  • "REQUEST_DENIED" 表示您的请求被拒绝,通常是由于缺少 sensor 参数。
  • "INVALID_REQUEST" 通常表示缺少查询参数(address 或 latlng)。

结果

当地址解析器传回结果时,它会将其放在一个 (JSON) results 数组中。即使地址解析器未传回任何结果(例如地址不存在),它仍会传回一个空 results 数组。(XML 响应包含零或多个 <result> 元素。)

一个典型的结果由以下字段组成:

  • types[] 数组指示传回结果的类型。此数组包含一个或多个标签,这些标签标识结果中返回的特征的类型。例如,对“Chicago”的地址解析返回“locality”,表示“Chicago”是一个城市;同时返回“political”,表示它是一个政治实体。

  • formatted_address 是一个字符串,包含此位置的人类可读地址。通常该地址相当于“邮政地址”,有时会因不同国家/地区而存在差异。(请注意,部分国家/地区会有许可限制,禁止发布真实的邮政地址,如英国。)此地址通常由一个或多个地址部分组成。例如,地址“111 8th Avenue, New York, NY”包含四个地址组成部分,即“111”(街道门牌号)、“8th Avenue”(街道地址)、“New York”(城市)和“NY”(美国的一个州)。这些地址组成部分包含附加信息,如下面所述。

  • address_components[] 是一个包含多个地址组成部分(如上文所述)的数组。每个 address_component 通常包含以下几个组成部分:

    • types[] 是一个数组,表示地址组成部分的类型。
    • long_name 是地址解析器传回的完整文本说明或地址组成部分的名称。
    • short_name 是地址组成部分的缩写文本名称(如果有)。例如,阿拉斯加州的地址组成部分可能具有 long_name“Alaska”和 short_name“AK”(使用 2 个字母的邮政缩写)。

    请注意,address_components[] 包含的地址组成部分可能多于 formatted_address 中所注明的地址组成部分。

  • geometry 包含以下信息:

    • location 包含地址解析生成的纬度值和经度值。对于常规地址查询,此字段通常是最重要的。
    • location_type 存储有关指定位置的附加数据。当前支持以下值:

      • "ROOFTOP" 表示传回的结果是一个精确的地址解析值,我们可获得精确到街道地址的位置信息。
      • "RANGE_INTERPOLATED" 表示返回的结果是一个近似值(通常表示某条道路上的地址),该地址处于两个精确点(如十字路口)之间。当无法对街道地址进行精确的地址解析时,通常会返回近似结果。
      • "GEOMETRIC_CENTER" 表示返回的结果是折线(如街道)或多边形(区域)等内容的几何中心。
      • "APPROXIMATE" 表示返回的结果是一个近似值。
    • viewport 包含用于显示传回结果的建议可视区域,并被指定为两个纬度/经度值,分别定义可视区域边框的 southwest 和 northeast 角。通常,该可视区域用于在将结果显示给用户时作为结果的框架。
    • bounds(可选择传回)存储可完全包含传回结果的边框。请注意,这些边界可能与建议的可视区域不相符。(例如,旧金山包含费拉隆岛。该岛实际上是旧金山市的一部分,但不应该在可视区域内传回。)

由于我们无法保证针对 Google Geocoding API 请求的各个响应的确切格式,因此您绝对不能假定元素位于绝对位置。(尤其是,Google Geocoding API 请求中的address_components 数会基于所请求的地址而变化,并会随时间改变。)相反,您应当对响应进行解析并通过表达式选择相应值。有关详细信息,请参见解析网络服务响应。

地址组成部分的类型

返回结果中的 types[] 数组表示地址类型。address_components[] 数组中也可能返回这些类型,以表示特定地址组成部分的类型。地址解析器中的地址可能有多种类型,这些类型也可以视为“标签”。例如,许多城市都带有 political 和 locality 类型的标签。

HTTP 地址解析器支持并返回以下类型:

  • street_address 表示一个精确的街道地址。
  • route 表示一条已命名的路线(如“US 101”)。
  • intersection 表示一个大十字路口,通常由两条主道交叉形成。
  • political 表示一个政治实体。此类型通常表示代表某个行政管理区的多边形。
  • country 表示国家政治实体。在地址解析器返回的结果中,该部分通常列在最前面。
  • administrative_area_level_1 表示仅次于国家级别的行政实体。在美国,这类行政实体是指州。并非所有国家都有该行政级别。
  • administrative_area_level_2 表示国家级别下的二级行政实体。在美国,这类行政实体是指县。并非所有国家都有该行政级别。
  • administrative_area_level_3 表示国家级别下的三级行政实体。此类型表示较小的行政单位。并非所有国家都有该行政级别。
  • colloquial_area 表示实体的通用别名。
  • locality 表示合并的市镇级别政治实体。
  • sublocality 表示仅次于地区级别的行政实体。
  • neighborhood 表示已命名的邻近地区。
  • premise 表示已命名的位置,通常是具有常用名称的建筑物或建筑群。
  • subpremise 表示仅次于已命名位置级别的实体,通常是使用常用名称的建筑群中的某座建筑物。
  • postal_code 表示邮政编码,用于确定相应国家/地区内的信件投递地址。
  • natural_feature 表示某个明显的自然特征。
  • airport 表示机场。
  • park 表示已命名的公园。
  • point_of_interest 表示已命名的兴趣点。通常,这些“POI”是一些不易归入其他类别的比较有名的当地实体,如“帝国大厦”或“自由女神像”。

除此之外,地址组成部分还可以使用以下类型:

  • post_box 表示一个具体的邮筒。
  • street_number 表示精确的街道编号。
  • floor 表示建筑物的楼层号。
  • room 表示建筑物的房间编号。

反向地址解析(地址查询)

术语“地址解析”通常是指将人类可读的地址转换成地图上的位置。反之,将地图上的位置转换成人类可读的地址这一过程则称为“反向地址解析”。

Google Geocoding API 支持直接使用 latlng 参数进行反向地址解析。例如,下列查询包含了布鲁克林某一位置的纬度/经度值:

http://maps.google.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true_or_false

请注意:在传入 latlng 参数时,请确保纬度值与经度值之间没有空格。

该查询返回下列结果:

{"status": "OK","results": [ {"types": [ "street_address" ],"formatted_address": "275-291 Bedford Ave, Brooklyn, NY 11211, USA","address_components": [ {"long_name": "275-291","short_name": "275-291","types": [ "street_number" ]}, {"long_name": "Bedford Ave","short_name": "Bedford Ave","types": [ "route" ]}, {"long_name": "New York","short_name": "New York","types": [ "locality", "political" ]}, {"long_name": "Brooklyn","short_name": "Brooklyn","types": [ "administrative_area_level_3", "political" ]}, {"long_name": "Kings","short_name": "Kings","types": [ "administrative_area_level_2", "political" ]}, {"long_name": "New York","short_name": "NY","types": [ "administrative_area_level_1", "political" ]}, {"long_name": "United States","short_name": "US","types": [ "country", "political" ]}, {"long_name": "11211","short_name": "11211","types": [ "postal_code" ]} ],"geometry": {"location": {"lat": 40.7142298,"lng": -73.9614669},"location_type": "RANGE_INTERPOLATED","viewport": {"southwest": {"lat": 40.7110822,"lng": -73.9646145},"northeast": {"lat": 40.7173774,"lng": -73.9583193}}}},... Additional results[] ...

请注意,反向地址解析器传回了多个结果。结果的 "formatted_addresses" 不仅是指通信地址,还包含对位置进行地理命名的所有方式。例如,当对芝加哥市中的一个点进行地址解析时,地址解析的点可标注为其街道地址、城市(芝加哥)、州(伊利诺斯)或国家(美国)。这些对地址解析器来说都是“地址”。反向地址解析器可将任何这些类型的地址作为有效结果传回。

反向地址解析器将匹配政治实体(国家/地区、省、市和邻近地区)、街道地址和邮政编码。

前一查询所传回的 formatted_address 值的完整列表如下所示。

"formatted_address": "275-291 Bedford Ave, Brooklyn, NY 11211, USA",
"formatted_address": "Williamsburg, NY, USA",
"formatted_address": "New York 11211, USA",
"formatted_address": "Kings, New York, USA",
"formatted_address": "Brooklyn, NY, USA",
"formatted_address": "New York, NY, USA",
"formatted_address": "New York, USA",
"formatted_address": "United States"

通常,地址将按照具体程度由高到低的顺序传回;最确切的地址将作为最显著的结果传回,本例就是如此。请注意,我们传回了各种不同的地址,从十分具体的街道地址到比较笼统的政治实体,如邻近地区、市、县、州/省等。如果您希望匹配更广泛的地址,可能要检查传回的 Placemark 的 "types" 字段(请参见上文的地址组成部分类型)。

注意:反向地址解析给出的是估计结果。地址解析器会试图在一定的偏差范围内查找最接近的可寻址位置;如果找不到匹配项,地址解析器通常不会传回结果。

可视区域偏向

您还可以指示地址解析服务优先在指定可视区域(表现为边框)中显示结果。为此,您可以在请求网址中设置 bounds 参数。

bounds 参数将定义此边框的西南角和东北角的纬度/经度坐标,并使用竖线 (|) 字符分隔坐标。

例如,“Winnetka”的地址解析通常传回芝加哥近郊地区的地址,具体结果如下:

请求:

http://maps.google.com/maps/api/geocode/json?address=Winnetka&sensor=false

响应:

{"status": "OK","results": [ {"types": [ "locality", "political" ],"formatted_address": "Winnetka, IL, USA","address_components": [ {"long_name": "Winnetka","short_name": "Winnetka","types": [ "locality", "political" ]}, {"long_name": "Illinois","short_name": "IL","types": [ "administrative_area_level_1", "political" ]}, {"long_name": "United States","short_name": "US","types": [ "country", "political" ]} ],"geometry": {"location": {"lat": 42.1083080,"lng": -87.7417070},"location_type": "APPROXIMATE","viewport": {"southwest": {"lat": 42.0917501,"lng": -87.7737218},"northeast": {"lat": 42.1248616,"lng": -87.7096922}},"bounds": {"southwest": {"lat": 42.0885320,"lng": -87.7715480},"northeast": {"lat": 42.1284090,"lng": -87.7110160}}}} ]
}

但是,如果添加一个 bounds 参数以定义洛杉矶的圣费尔南多谷的边框,则地址解析会传回该位置范围内邻近地区(名为“Winnetka”)的地址:

请求:

http://maps.google.com/maps/api/geocode/json?address=Winnetka&bounds=34.172684,-118.604794|34.236144,-118.500938&sensor=false

响应:

{"status": "OK","results": [ {"types": [ "sublocality", "political" ],"formatted_address": "Winnetka, California, USA","address_components": [ {"long_name": "Winnetka","short_name": "Winnetka","types": [ "sublocality", "political" ]}, {"long_name": "Los Angeles","short_name": "Los Angeles","types": [ "administrative_area_level_3", "political" ]}, {"long_name": "Los Angeles","short_name": "Los Angeles","types": [ "administrative_area_level_2", "political" ]}, {"long_name": "California","short_name": "CA","types": [ "administrative_area_level_1", "political" ]}, {"long_name": "United States","short_name": "US","types": [ "country", "political" ]} ],"geometry": {"location": {"lat": 34.2131710,"lng": -118.5710220},"location_type": "APPROXIMATE","viewport": {"southwest": {"lat": 34.1947148,"lng": -118.6030368},"northeast": {"lat": 34.2316232,"lng": -118.5390072}},"bounds": {"southwest": {"lat": 34.1791050,"lng": -118.5883200},"northeast": {"lat": 34.2353090,"lng": -118.5534191}}}} ]
}

区域偏向

Google Geocoding API 传回的结果会受到发送请求的区域(通常是国家/地区)的影响。例如,如果分别从美国境内某个区域和西班牙发送对“San Francisco”的搜索,则会传回不同的结果。

您可以使用 region 参数,将 Google Geocoding API 设置为传回偏向于特定区域的结果。该参数采用指定区域偏向的 ccTLD(国家/地区代码顶级域)参数。多数 ccTLD 代码都与 ISO 3166-1 代码相同,但也有一些需要注意的例外情况。例如,英国的 ccTLD 为“uk”(.co.uk),而其 ISO 3166-1 代码为“gb”(特指“大不列颠及北爱尔兰联合王国”)。

对于正式启动了主 Google Maps 应用程序的每个区域,都可以对地址解析结果进行偏向。

例如,由于 Google Geocoding API 的默认区域设置为美国,因此,对“Toldeo”的地址解析传回了如下结果:

http://maps.google.com/maps/api/geocode/json?address=Toledo&sensor=false
# Returns:
#
{"status": "OK","results": [ {"types": [ "locality", "political" ],"formatted_address": "Toledo, OH, USA","address_components": [ {"long_name": "Toledo","short_name": "Toledo","types": [ "locality", "political" ]}, {"long_name": "Ohio","short_name": "OH","types": [ "administrative_area_level_1", "political" ]}, {"long_name": "United States","short_name": "US","types": [ "country", "political" ]} ],"geometry": {"location": {"lat": 41.6529200,"lng": -83.5777820},"location_type": "APPROXIMATE","viewport": {"southwest": {"lat": 41.5861889,"lng": -83.7058414},"northeast": {"lat": 41.7195821,"lng": -83.4497226}},"bounds": {"southwest": {"lat": 41.5803170,"lng": -83.6947540},"northeast": {"lat": 41.7326310,"lng": -83.4545660}}}} ]
}

而在域为 region=es(西班牙)的情况下,对“Toldeo”的地址解析将会传回西班牙的城市:

http://maps.google.com/maps/api/geocode/json?address=Toledo&sensor=false®ion=es
#
# Returns
#
{"status": "OK","results": [ {"types": [ "locality", "political" ],"formatted_address": "Toledo, España","address_components": [ {"long_name": "Toledo","short_name": "Toledo","types": [ "locality", "political" ]}, {"long_name": "Toledo","short_name": "TO","types": [ "administrative_area_level_2", "political" ]}, {"long_name": "Castilla-La Mancha","short_name": "CM","types": [ "administrative_area_level_1", "political" ]}, {"long_name": "España","short_name": "ES","types": [ "country", "political" ]} ],"geometry": {"location": {"lat": 39.8567775,"lng": -4.0244759},"location_type": "APPROXIMATE","viewport": {"southwest": {"lat": 39.7882200,"lng": -4.1525353},"northeast": {"lat": 39.9252666,"lng": -3.8964165}},"bounds": {"southwest": {"lat": 39.8105550,"lng": -4.1796354},"northeast": {"lat": 39.9250920,"lng": -3.8147915}}}} ]
}
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;public class Demo {public static void main(String[] args) {String addr = GetAddr("35.8616600", "104.1953970");System.out.println(addr);//getCoordinate("中国");}/*** 根据经纬度反向解析地址,有时需要多尝试几次* 注意:如果在 24 小时时段内收到来自一个 IP 地址超过 2500 个地址解析请求, 或从一个 IP* 地址提交的地址解析请求速率过快,Google 地图 API 编码器将用 620 状态代码开始响应。 如果地址解析器的使用仍然过多,则从该 IP* 地址对 Google 地图 API 地址解析器的访问可能被永久阻止。** @param latitude* 纬度* @param longitude* 经度* @return*/public static String GetAddr(String latitude, String longitude) {String addr = "";// 也可以是http://maps.google.cn/maps/geo?output=csv&key=abcdef&q=%s,%s,不过解析出来的是英文地址// 密钥可以随便写一个key=abc// output=csv,也可以是xml或json,不过使用csv返回的数据最简洁方便解析String url = String.format("http://ditu.google.cn/maps/geo?output=csv&key=abcdef&q=%s,%s",latitude, longitude);URL myURL = null;URLConnection httpsConn = null;try {myURL = new URL(url);} catch (MalformedURLException e) {e.printStackTrace();return null;}try {httpsConn = (URLConnection) myURL.openConnection();if (httpsConn != null) {InputStreamReader insr = new InputStreamReader(httpsConn.getInputStream(), "UTF-8");BufferedReader br = new BufferedReader(insr);String data = null;if ((data = br.readLine()) != null) {System.out.println(data);String[] retList = data.split(",");if (retList.length > 2 && ("200".equals(retList[0]))) {addr = retList[2];addr = addr.replace("\"", "");} else {addr = "";}}insr.close();}} catch (IOException e) {e.printStackTrace();return null;}return addr;}public static void getCoordinate(String addr){String addrs = "";String address = null;try {address = java.net.URLEncoder.encode(addr,"UTF-8");} catch (UnsupportedEncodingException e1) {e1.printStackTrace();};String output = "csv";String key = "abc";String url = String.format("http://maps.google.com/maps/geo?q=%s&output=%s&key=%s", address, output, key);URL myURL = null;URLConnection httpsConn = null;//进行转码try {myURL = new URL(url);} catch (MalformedURLException e) {e.printStackTrace();}try {httpsConn = (URLConnection) myURL.openConnection();if (httpsConn != null) {InputStreamReader insr = new InputStreamReader(httpsConn.getInputStream(), "UTF-8");BufferedReader br = new BufferedReader(insr);String data = null;if ((data = br.readLine()) != null) {System.out.println(data);String[] retList = data.split(",");/*String latitude = retList[2];String longitude = retList[3];System.out.println("纬度"+ latitude);System.out.println("经度"+ longitude);*/if (retList.length > 2 && ("200".equals(retList[0]))) {addrs = retList[2];addrs = addr.replace("\"", "");} else {addrs = "";}}insr.close();}} catch (IOException e) {e.printStackTrace();}System.out.println(addrs);}}

Google Maps Api Geocoding 传递参数和返回参数的解析(Json)相关推荐

  1. Java解析Google Maps API返回的Json

    Google Maps API是一个很强大的东西,能够进行经纬度的查询和反查等,对于Java,Google提供了一个Webservices,地址为如下形式: http://maps.googleapi ...

  2. Android Google Maps API 网络服务用于网络定位、计算路线、获取经纬度、获取详细地址等

    Google Maps API 网络服务 官网地址 : https://developers.google.com/maps/documentation/webservices/?hl=zh-cn 其 ...

  3. Google Maps API V3 之 图层

    图层概述 图层是地图上的对象,包含一个或多个单独项,但可作为一个整体进行操作.图层通常反映了您添加到地图上用于指定公共关联的对象集合.Maps API 会通过以下方法管理图层内对象的显示形式:将图层的 ...

  4. Google maps API开发

    Google maps API开发 注:经纬度的查询,找了半天,终于找着活神仙了,(*^__^*) 嘻嘻-- 1.经纬度查询工具:http://www.playgoogle.com/googlemap ...

  5. 使用Google Maps API和google-maps-react进行React Apps

    This tutorial aims at integrating the google maps API to your React components and enabling you to d ...

  6. ASP.NET调用V3版本的Google Maps API

    英文原文:Google Maps API V3 for ASP.NET 译文出处:青藤园 译文作者:王国峰 译文链接:ASP.NET中使用Google Maps API V3[译] 简介 Google ...

  7. Google Maps API V3 之绘图库

    绘图库 本文档中的概念仅适用于 google.maps.drawing 库中提供的地图项.默认情况下,系统在加载 Maps JavaScript API 时不会加载该库,您必须使用 libraries ...

  8. Google Maps API V3 之绘图库 信息窗口

    Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...

  9. Google maps API开发(一)(转)

    一.加载Google maps API <script type="text/javascript" src="http://ditu.google.com/map ...

最新文章

  1. 浮点运算为什么不准?有人为0.30000000000000004建了个网站
  2. php unset 静态变量,php如何删除静态变量
  3. 写个测试程序测试下,单片机使用浮点型数效率有多低
  4. mac攻略(1) -- 简单配置php开发环境
  5. boost::histogram::detail::argument_traits用法的测试程序
  6. 办公室心理学-九型人格导图
  7. 淘系的音视频编辑方案:非线性编辑引擎
  8. Java中number数字类型的转换_Java下数字类型的转换 (转)
  9. 计算机二级c语言作弊技巧,计算机等级考试二级C语言题型分析及应试技巧(1)
  10. Hello,Views(五)自动填充文字AutoCompleteTextView(附源码)
  11. 数据库本地的sa有个叉号_多个客户端(50)同时使用sa账号操作服务器数据库(sqlserver)会有问题吗?...
  12. 创建Django项目及配置
  13. C++ stack的使用及模拟实现
  14. 硬盘出现“文件或目录损坏且无法读取”的故障,怎么解决?
  15. 黑客到底有多黑-黑客群体构成,技术起源概述
  16. 含论文基于JAVA户籍信息管理系统【数据库设计、论文、源码、开题报告】
  17. 模拟扑克牌的洗牌发牌
  18. R安装nCov2019包报错:Failed to install 'unknown package' from GitHub: schannel: failed to receive handsh
  19. 微信小程序工具的使用及其参数含义。
  20. MySql如何储存和获取ip地址?以及mysql储存和获取ip地址的底层实现原理!!

热门文章

  1. psapi.lib,psapi.h,psapi.dll下载
  2. 百度地图api设置html5,百度地图API详解之自定义地图类型
  3. 重建古老计算机Pong
  4. 云享团——基于大数据开发套件的增量同步策略
  5. 如何使用MongoDB Go驱动程序在MongoDB中使用Go
  6. python三大,Python三大器
  7. 2020莱斯大学计算机全球排名,2020年QS世界大学排名:美国莱斯大学全球位列第85名...
  8. 【计量经济学导论】01. 简单回归模型
  9. 逆战小白提升日記——网红时钟罗盘制作
  10. 为什么我要反对北大青鸟[转自老赵]