[Java教程]Java百度地图经纬度纠偏

0 2017-04-21 00:00:45

在国内使用电子地图获取到的经纬度都不是真实的经纬度,而是经过一定的算法在真实的经纬度上添加了一个偏移量,且不同的地图有不同的算法。现在告诉大家在java中怎样对百度地图进行纠偏,主要实现将真实的经纬度在百度地图上进行显示,消除偏差。

一、若需要消偏的经纬度较少,则直接在浏览器中进行即可,百度提供了相应的API接口

1、API地址:http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=113.240324&y=23.817349

from=0:代表传入的是真实经纬度

to=4:代表返回是百度纠偏后,能在百度地图上正确显示出该地址的经纬度

x:经度          y:纬度

返回数据:{"error":0,"x":"MTEzLjI1MjIyMjUxOTg1","y":"MjMuODIwNjM5MTEyNDgy"}

返回的数据经过Base64加密,在网上找个在线Base64解密的网站就可以了

二、若数据量较大,则通过上述方式就不方便了,这里提供Java方法进行批量消偏,代码如下:1 import java.io.IOException; 2 import org.apache.http.HttpEntity; 3 import org.apache.http.HttpResponse; 4 import org.apache.http.client.ClientProtocolException; 5 import org.apache.http.client.ResponseHandler; 6 import org.apache.http.client.methods.HttpPost; 7 import org.apache.http.impl.client.CloseableHttpClient; 8 import org.apache.http.impl.client.HttpClients; 9 import org.apache.http.util.EntityUtils;10 import net.sf.json.JSONObject;11 12 public class Remove {13 public static void main(String[] args) {14 try {15 //这里只有一条数据,有多条数据的话可以用循环,然后拼接url字符串16 String url = "http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=113.540124&y=23.517846";17 JSONObject json = getAllEmployee(url);18 //将经纬度解码后进行打印19 String latitude = decode(json.getString("x"));20 String longitude = decode(json.getString("y"));21 System.out.println("经度为:" + latitude);22 System.out.println("纬度为:" + longitude);23 } catch (Exception e) {24 e.printStackTrace();25 } 26 }27 28 /**29 * Java后台访问url链接,返回JSON格式的数据30 * @return31 */32 public static JSONObject getAllEmployee(String url) {33 try {34 CloseableHttpClient httpclient = HttpClients.createDefault();35 HttpPost httpPost = new HttpPost(url);36 ResponseHandler responseHandler = new ResponseHandler() {37 // 成功调用连接后,对返回数据进行的操作38 public JSONObject handleResponse(final HttpResponse response)39 throws ClientProtocolException, IOException {40 int status = response.getStatusLine().getStatusCode();41 if (status >= 200 && status < 300) {42 // 获得调用成功后 返回的数据43 HttpEntity entity = response.getEntity();44 if (null != entity) {45 String result = EntityUtils.toString(entity);46 // 根据字符串生成JSON对象47 JSONObject resultObj = JSONObject.fromObject(result);48 return resultObj;49 } else {50 return null;51 }52 } else {53 throw new ClientProtocolException("Unexpected response status: " + status);54 }55 }56 };57 // 返回的json对象58 JSONObject responseBody = httpclient.execute(httpPost, responseHandler);59 return responseBody;60 } catch (Exception e) {61 e.printStackTrace();62 return null;63 }64 }65 66 /**67 * Base64解码68 * @param str69 * @return70 */71 public static String decode(String str) {72 byte[] bt = null;73 String s= "";74 try {75 sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();76 bt = decoder.decodeBuffer(str);77 s = new String(bt, "GB2312");78 } catch (IOException e) {79 e.printStackTrace();80 }81 return s;82 }83 }

三、运行上述代码所需的jar包如下:

1、http://pan.baidu.com/s/1qX7Zipe        密码:0rqq

本文网址:http://www.shaoqun.com/a/307474.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

JAVA

0

java 坐标纠偏_[Java教程]Java百度地图经纬度纠偏相关推荐

  1. java 百度地图 经纬度_Java百度地图经纬度纠偏

    在国内使用电子地图获取到的经纬度都不是真实的经纬度,而是经过一定的算法在真实的经纬度上添加了一个偏移量,且不同的地图有不同的算法.现在告诉大家在java中怎样对百度地图进行纠偏,主要实现将真实的经纬度 ...

  2. 百度地图经纬度计算距离(Java)

    百度地图Java经纬度计算距离 阅读百度地图Web服务api文档 Maven依赖 百度地图经纬度工具类 阅读百度地图Web服务api文档 Maven依赖 <!--baidu--><d ...

  3. java后台百度地图经纬度和地址之间的相互转换(通过经纬度获取地址、通过地址获取经纬度)

    准备工作: 1.申请百度ak(v1版本的key)  百度地图开放平台链接:http://lbsyun.baidu.com/ 2.百度地图web服务API链接:http://lbsyun.baidu.c ...

  4. python 地图偏移_python 地图经纬度转换、纠偏的实例代码 百度地图经纬度web纠偏怎么用...

    天地图的经纬度 经过纠偏了么 给个例子证明下 如何用python实现百度地图墨卡托坐标跟经纬度坐标互转 麦哲伦机器: 系统设置 地图单位 自定义坐标系 横向墨卡托 原点纬度0 原点经度126(通化) ...

  5. baidumaptrace.php,GitHub - SignalLine/BaiduMapTrace: 百度地图运动轨迹纠偏、去噪、绑路之百度鹰眼sdk服务...

    BaiduMapTrace 百度地图运动轨迹纠偏.去噪.绑路之百度鹰眼sdk服务 轨迹大致能反应用户所经过的路劲,效果还是不错的,说明gps信号较好,精度较高. 但是除了西边的轨迹较为平滑之外,其他方 ...

  6. 百度地图经纬度和像素坐标互转

    百度地图经纬度和像素坐标互转 1.经纬度转像素坐标 // 投影实例 const projection = map.getMapType().getProjection()// 地图div宽高 cons ...

  7. 天气 经纬度 高德_天地图与高德 百度地图的经纬度转换

    https://lbs.amap.com/api/javascript-api/guide/transform/convertfrom http://m.gpsspg.com/maps.htm 1.首 ...

  8. 原始GPS坐标(WGS-84)转成百度的经纬度,零误差

    前言:在博客上找了很多,也看了很多浏览度高的,但是一测试,还是有几百米或者几十米的误差 于是我就借鉴几个博客做了调整,经度度与百度手机定位几乎一致. 借鉴博客地址:https://blog.csdn. ...

  9. 大批量其他经纬度转换为百度地图经纬度

    大批量其他经纬度转换为百度地图经纬度 <!DOCTYPE html> <html><head><script src="./jquery-3.4.1 ...

  10. 百度地图经纬度转换腾讯地图经纬度

    百度地图经纬度转腾讯地图经纬度 function  bMapTransQQMap(lng,lat){         let x_pi = 3.14159265358979324 * 3000.0 / ...

最新文章

  1. Smarty中的变量
  2. python type函数
  3. php数据库图片读取不出来,图片显示不出来,但是数据库里有显示
  4. 用c语言实现串的存储结构是指,数据结构学习笔记-串(C语言实现)
  5. 【Kissy WaterFall】实行手动加载数据
  6. Thanos 简介和实践
  7. WinForm窗体错误控件
  8. JS新手入门自学笔记
  9. 试分析家用变频空调的计算机控制原理,习 题 五
  10. python电影爬虫背景介绍_Python爬虫入门教程01之爬取豆瓣Top电影
  11. echarts实现中国地图踩过的坑--------有些省的value可以拿到,有些省的value拿不到
  12. 折线分割平面(图文解析)
  13. # 英语四级 词根+例句
  14. Xcode中使用自定义字体
  15. 阿里云ECS部署Docker
  16. RabbitMq 虚拟主机 virtual-host ,Springboot 中使用 RabbitMq 虚拟主机 virtual-host
  17. 语音助手——QU——语义角色标注及其应用
  18. 教你如何修改私服NPC卖东西
  19. Pytest全栈自动化测试指南-夹具入门
  20. python迭代器和for循环区别_python迭代器和for循环区别,

热门文章

  1. 天翎myAppsSetup_V4.4.sp10系统结构图
  2. 开题报告(3.研究的思路、过程与方法)
  3. 电脑卡住了怎么保存excel_win7系统遇到死机没及时保存excel文件该怎么办
  4. CPU寻址能力的理解
  5. FFmpeg无损转换ts为mp4
  6. 微信小程序video控件的使用
  7. 实践“鱼塘养鱼论”,不断养鱼和捕鱼
  8. 关键字Wait Until Keyword Succeeds
  9. 论文学习——多元时间序列相似性度量方法
  10. 数量积、向量积、混合积