GPS原始经纬度转百度经纬度

 1 protected void runTest() throws Throwable {
 2
 3     try {
 4         BaiduLocation bl = new BaiduLocation();
 5             bl.gpsx = 120;//经度
 6             bl.gpsy = 30;//纬度
 7             GetBaiduLocation(bl);
 8             if(bl.ok) {
 9                 int baidux = (int)(bl.baidux*1E6);
10                 int baiduy = (int)(bl.baiduy*1E6);
11                 // 转换成功,这个坐标是百度专用的
12             }
13             else {
14                 /// 转换失败
15             }
16     }
17     catch(Exception ex) {
18     }
19 }
20
21 class BaiduLocation {
22     public float gpsx, gpsy;
23     public float baidux, baiduy;
24     public boolean ok = false;
25 }
26
27 public static String GetBaiduLocation(float x, float y) throws MalformedURLException, IOException {
28     String url = String.format("http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=%f&y=%f", x, y);
29     HttpURLConnection urlConnection = (HttpURLConnection)(new URL(url).openConnection());
30     urlConnection.connect();
31     BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
32     String lines = reader.readLine();
33     reader.close();
34     urlConnection.disconnect();
35     return lines;
36 }
37
38 public static boolean GetBaiduLocation(BaiduLocation bl) {
39     try {
40         bl.ok = false;
41         String res = GetBaiduLocation(bl.gpsx, bl.gpsy);
42         if(res.startsWith("{") && res.endsWith("}")) {
43             res = res.substring(1, res.length() - 2).replace("\"", "");
44             String[] lines = res.split(",");
45             for(String line : lines) {
46                 String[] items = line.split(":");
47                 if(items.length == 2) {
48                     if("error".equals(items[0])) {
49                         bl.ok = "0".equals(items[1]);
50                     }
51                     if("x".equals(items[0])) {
52                         bl.baidux = ConvertBase64(items[1]);
53                     }
54                     if("y".equals(items[0])) {
55                         bl.baiduy = ConvertBase64(items[1]);
56                     }
57                 }
58             }
59         }
60     } catch (Exception e) {
61         bl.ok = false;
62     }
63     return bl.ok;
64 }
65 private static float ConvertBase64(String str) {
66     byte[] bs = Base64.decode(str);
67     return Float.valueOf(new String(bs));
68 }

经纬度转换接口http://map.yanue.net/gps.html

牛人主页:http://map.yanue.net/

时间: 2024-10-04 02:57:30

GPS原始经纬度转百度经纬度的相关文章

ios系统经纬度转百度经纬度及经纬度转地址

正在进行的项目中有这样的需求:定位获得当前经纬度,再用百度Place API使用经纬度查询周边信息.这里不需要显示地图,只需要定位.看似思路很顺畅,做起来却不容易. iPhone的GPS定位(CLLocationManager)获得的经纬坐标是基于WGS-84坐标系(世界标准),Google地图使用的是GCJ-02坐标系(中国特色的火星坐标系),这就是为什么获得的经纬坐标在google地图上会发生偏移.我项目需求是使用百度Place API,百度的经纬坐标在GCJ-02的基础上再做了次加密,就是

微信中得到的GPS经纬度放在百度,腾迅地图中不准的原因及处理

微信中可以得到两种GPS坐标信息  默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02' 一种是全球的正常GPS坐标信息 wgs84 . GPS,WGS-84,原始坐标体系.一般用国际标准的GPS记录仪记录下来的坐标,都是GPS的坐标.很可惜,在中国,任何一个地图产品都不允许使用GPS坐标,据说是为了保密.GPS坐标是 度分秒形式的经纬度:119度23分32.45秒    换算成我们常见的 可以经过以下计算  119+23/60+32.45/3

如何批量转换为百度经纬度

摘要: 百度地图API的官网上提供了常用坐标转换的示例.但是,一次只能转换一个,真的非常麻烦!!这里结合了官方的示例,自制一个批量转换工具,供大家参考. ------------------------------------------------------------------------------------------ 因为我没有GPS坐标,就拿谷歌坐标做个示例了. 首先要注意的是,百度和谷歌的经纬度坐标顺序是相反的. 比如,谷歌的经纬度是 new google.maps.LatL

百度经纬度和google经纬度互转

百度地图的坐标转换,由于百度地图在GCJ02协议的基础上又做了一次处理,变为 BD09协议的坐标,以下是坐标的转化方式,可以方便和其他平台转化 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 private const double x_pi = 3.14159265358979324 * 3000.0 / 180.0; /// <summary> /// 中国正常坐标系GCJ02协议的坐标,转

百度经纬度获取

经纬度 浏览器获取经纬度信息no 1: 113.307649; 23.1200491no 2:手机微信获取(113.247321;23.134914) 1.wgs84ll(wgs84经纬度坐标)浏览器http://api.map.baidu.com/cloudrgc/v1?geotable_id=8396953&&ak=fDb9hmtLGcgdtgm7zCBiQgdeuTjqp6lp&coord_type=wgs84ll&location=23.12004,113.3076

GPS坐标(WGS84)转换百度坐标(BD09) python测试

基础知识坐标系说明: WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系. GCJ02:是由中国国家测绘局制订的地理信息系统的坐标系统.由WGS84坐标系经加密后的坐标系. BD09:为百度坐标系,在GCJ02坐标系基础上再次加密.其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标 参考文档: http://lbsyun.baidu.com/index.php?title=webapi/guide/changeposition 功能接口主用调用

GPS坐标转化为百度坐标

============问题描述============ 想把手机采集的GPS坐标转化为百度坐标,在网上找了一下代码: GeoPoint geoPoint3 = new GeoPoint((int) ((mLat1 + 0.001) * 1E6), (int) ((mLon1 + 0.003) * 1E6)); GeoPoint GeoPointBaidu = CoordinateConvert.fromWgs84ToBaidu(geoPoint3);  mOverlayList.add(new

Mysql 数据库,经纬度距离计算/经纬度范围检索 (谷歌方案)

SELECT id, ( 6371 * acos ( cos ( radians(78.3232) ) * cos( radians( 数据库纬度字段) ) * cos( radians( 数据库经度字段) - radians(65.3234) ) + sin ( radians(78.3232) ) * sin( radians( 数据库纬度字段 ) ) ) ) AS distanceFROM tb_hotel HAVING distance < 0.4 ORDER BY distance L

百度地图之事件处理——获取所在的经纬度(百度地图简单使用)

地图事件概述 浏览器中的JavaScript是“事件驱动的”,这表示JavaScript通过生成事件来响应交互,并期望程序能够“监听”感兴趣的活动.例 如,在浏览器中,用户的鼠标和键盘交互可以创建在DOM内传播的事件.对某些事件感兴趣的程序会为这些事件注册JavaScript事件监听器,并在接收 这些事件时执行代码. 百度地图API拥有一个自己的事件模型,程序员可监听地图API对象的自定义事件,使用方法和DOM事件类似.但请注意,地图API事件是独立的,与标准DOM事件不同. 事件监听 百度地图