用java实现地理位置转换,坐标转换,行驶距离计算(高德地图)
来源:互联网 发布:安卓音频编辑软件 编辑:程序博客网 时间:2024/04/29 00:37
参考 http://blog.csdn.net/techcarlos/article/details/52107902
请在高德地图开发中心申请 WEB的key
import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.URI;import java.net.URL;import java.net.URLConnection;import java.net.URLEncoder;import net.sf.json.JSONArray;import net.sf.json.JSONObject;/** * @author lx * @version 2016年11月16日 上午11:39:40 */public class MapUtil {public static String getHttpResponse(String allConfigUrl) {BufferedReader in = null;StringBuffer result = null;try {// url请求中如果有中文,要在接收方用相应字符转码URI uri = new URI(allConfigUrl);URL url = uri.toURL();URLConnection connection = url.openConnection();connection.setRequestProperty("Content-type", "text/html");connection.setRequestProperty("Accept-Charset", "utf-8");connection.setRequestProperty("contentType", "utf-8");connection.connect();result = new StringBuffer();// 读取URL的响应in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));String line;while ((line = in.readLine()) != null) {result.append(line);}return result.toString();} catch (Exception e) {e.printStackTrace();} finally {try {if (in != null) {in.close();}} catch (Exception e2) {e2.printStackTrace();}}return null;}/** * 高德地图WebAPI : 驾车路径规划 计算两地之间行驶的距离(米)<br/> * String origins:起始坐标<br/> * String destination:终点坐标 */public static String distance(String origins, String destination) {int strategy = 0;// 0速度优先(时间)1费用优先(不走收费路段的最快道路)2距离优先 3不走快速路 4躲避拥堵// 5多策略(同时使用速度优先、费用优先、距离优先三个策略计算路径)。6不走高速 7不走高速且避免收费// 8躲避收费和拥堵 9不走高速且躲避收费和拥堵String url = "http://restapi.amap.com/v3/direction/driving?" + "origin=" + origins + "&destination="+ destination + "&strategy=" + strategy + "&extensions=base&key=您的key";JSONObject jsonobject = JSONObject.fromObject(getHttpResponse(url));JSONArray pathArray = jsonobject.getJSONObject("route").getJSONArray("paths");String distanceString = pathArray.getJSONObject(0).getString("distance");return distanceString;}/** * 高德地图WebAPI : 地址转化为高德坐标 <br/> * String address:高德地图地址 * */public static String coordinate(String address) {try {address = URLEncoder.encode(address, "utf-8");} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();}String url = "http://restapi.amap.com/v3/geocode/geo?address=" + address+ "&output=json&key=您的key";JSONObject jsonobject = JSONObject.fromObject(getHttpResponse(url));JSONArray pathArray = jsonobject.getJSONArray("geocodes");String coordinateString = pathArray.getJSONObject(0).getString("location");return coordinateString;}/** * 高德地图WebAPI : gps坐标转化为高德坐标 <br/> * String coordsys:高德地图坐标 * */public static String convert(String coordsys) {try {coordsys = URLEncoder.encode(coordsys, "utf-8");} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();}String url = "http://restapi.amap.com/v3/assistant/coordinate/convert?locations=" + coordsys+ "&coordsys=gps&output=json&key=您的key";JSONObject jsonobject = JSONObject.fromObject(getHttpResponse(url));String coordinateString = jsonobject.getString("locations");return coordinateString;}//public static void main(String[] args) {//// 格式: 经度,纬度//// 注意:高德最多取小数点后六位//String origin = "104.043390" + "," + "30.641982";//String destination = "106.655347" + "," + "31.786691";//String address = "成都市武侯区";////String coordinate = coordinate(address);//String distance = distance(origin, destination);////System.out.println("行驶距离-----" + distance);//System.out.println("地址转换高德坐标-----" + coordinate);////}//public static void main(String[] args) {//String coordsys = "116.481499,39.990475";//String moordsys =convert(coordsys);//System.out.println(moordsys);//}}
0 0
- 用java实现地理位置转换,坐标转换,行驶距离计算(高德地图)
- 高德地图坐标转换百度地图坐标-Java
- 百度地图坐标和高德地图坐标转换代码 Java实现
- 高德地图坐标转换
- 高德地图WebAPI:行驶距离测量
- 百度地图API地理位置和坐标转换
- java调用百度地图api接口---转换非百度坐标和根据百度坐标转换地理位置
- 高德地图坐标转换为百度地图坐标
- 高德地图,百度地图等坐标体系,坐标转换
- 百度地图坐标和高德地图坐标转换
- 高德地图坐标转换接口
- 高德地图坐标转换问题
- 高德地图计算两坐标之间距离
- 高德地图计算两坐标之间距离
- 【高德地图API】如何解决坐标转换,坐标偏移?
- 【高德地图API】如何解决坐标转换,坐标偏移?
- 【高德地图API】如何解决坐标转换,坐标偏移?
- 【高德地图API】如何解决坐标转换,坐标偏移?
- OWASP ZAP上手体验
- 浮点型在内存当中的存储方式
- aiohttp
- zynq-7000学习笔记(五)——制作BOOT.bin文件
- hdu 1757
- 用java实现地理位置转换,坐标转换,行驶距离计算(高德地图)
- servlet的生命周期和HTTP协议.
- Data Structure: 图 (Graph)
- Unity中的Lod
- Android 总结:Manifest文件中,application和activity标签属性详解
- MySQL用户权限及二进制日志
- 匿名内部类---(提高篇)
- HDU 2036 改革春风吹满地
- Maven(2)windows下maven的安装配置