通过Google Geocoding API 解析地址

通过Google Geocoding API 解析地址  但是不知道可以使用多久

具体的可以访问网站
http://code.google.com/intl/zh-CN/apis/maps/documentation/geocoding/

这个服务最大的作用是可以不依靠 google map来解析地址
但是他上边明确注明有说 解析的地理位置 必须用于google map 
我不知道这个东西该怎么理解

送上一条可以使用的解析地址
http://maps.google.com/maps/api/geocode/xml?latlng=39.908711,116.397506&language=zh&sensor=false

把xml换成json 即可返回json格式的
这个坐标是天安门的  大家可以输入到浏览器里边试一下
更多解释 明天继续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java可以通过Google API获取给定经纬度的地址信息。要实现这一功能,可以使用Java的网络请求库和JSON解析库。 首先,需要向Google Maps Geocoding API发送GET请求,该API可以通过经纬度返回相应的地址信息。在请求中,需要设置查询参数包括`latlng`和`key`。`latlng`用于指定要查询的经纬度,`key`则是你的Google API密钥。通过Google Developer Console(开发者控制台)可以获取到这个API密钥。 可以使用Java中的`URL`和`URLConnection`类来发送HTTP请求。首先,构建一个包含查询参数的URL对象,然后通过`openConnection`方法创建一个`URLConnection`对象,并设置GET请求的请求方法。接下来,通过调用`getInputStream`方法来获取API的响应数据流。 然后,可以使用Java的JSON解析库(如`org.json`)来解析API的响应字符串。将API响应的JSON字符串传递给JSON解析库的相应方法,可以得到一个`JSONObject`对象。该对象包含了各种地址信息,如街道、城市、州、国家等。 最后,可以从`JSONObject`中提取出需要的地址信息,并进行后续处理,比如将地址信息打印出来或者存储到数据库中。 需要注意,访问Google API可能需要网络连接和API密钥,并且可能需要遵守相关的使用条款和限制。 这是一个简单的Java代码示例,演示了如何通过Google API获取给定经纬度的地址信息: ```java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import org.json.JSONObject; public class GoogleMapsAPI { public static void main(String[] args) { double latitude = 37.4224764; // 维度 double longitude = -122.0842499; // 经度 String apiKey = "your_api_key"; // 替换成你的Google API密钥 String url = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + latitude + "," + longitude + "&key=" + apiKey; try { // 发送GET请求 URLConnection connection = new URL(url).openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); String response = reader.readLine(); // 解析JSON JSONObject jsonObject = new JSONObject(response); String address = jsonObject.getJSONArray("results").getJSONObject(0).getString("formatted_address"); System.out.println("地址:" + address); } catch (IOException e) { e.printStackTrace(); } } } ``` 以上是一个基本的示例,根据自己的需求可以对代码进行扩展和优化。请注意替换示例代码中的API密钥为你自己的密钥。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值