Java 根据经纬度获取地理位置

根据经纬度获取地理位置,被称为 GeoCode

Google 地图

Google 地图提供了经纬度到地理位置的 API,并封装成了 Java 库,地址:google-maps-services-java

API 接口:

https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=API_KEY  

使用 Google 地图需要申请 API_KEY,请参考开发者文档

Baidu 地图

国内,Baidu 地图也提供了同样的 API。

API 接口:

http://api.map.baidu.com/geocoder/v2/?location=35.658651,139.745415&output=json&ak=API_KEY  

使用 Baidu 地图同样需要申请 API_KEY,请参考开发者文档

其它

以上两种获取地理位置的方式统统都是收费服务,如果不要求结果完全准确的话,可以查询全国主要城市经纬度,遍历距离最近的城市。

简单粗暴!!!

计算两点之间的直线距离:

Math.sqrt(Math.pow((x1 - x2), 2), Math.pow((y1 - y2), 2))