经过多天的整理,终于把这几个相互转换整理完成。
【说明】
谷歌地图API,高德地图API,腾讯地图API上取到的,都是GCJ-02坐标。
百度地图API是 BD-09坐标。
我们国家标准经纬度是WG1984坐标。

【代码】

高德经纬度转标准经纬度

    Const PI = 3.1415926535897931 '圆周率Function 高德转标准(st As String) As StringTryDim a As Double = 6378245.0Dim ee As Double = 0.0066934216229659433Dim _lon = CDbl(Split(st, ",")(0))Dim _lat = CDbl(Split(st, ",")(1))Dim dlon = 转经度(_lon - 105.0, _lat - 35.0)Dim dlat = 转纬度(_lon - 105.0, _lat - 35.0)Dim radlat = _lat / 180.0 * PIDim magic = Math.Sin(radlat)magic = 1 - ee * magic * magicDim sqrtMagic = Math.Sqrt(magic)dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * PI)dlon = (dlon * 180.0) / (a / sqrtMagic * Math.Cos(radlat) * PI)Return (_lon - dlon) & "," & _lat - dlatCatch高德转标准 = ","End TryEnd FunctionFunction 转经度(x As Double, y As Double)Dim ret As Double = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.Sqrt(Math.Abs(x))ret += (20.0 * Math.Sin(6.0 * x * PI) + 20.0 * Math.Sin(2.0 * x * PI)) * 2.0 / 3.0ret += (20.0 * Math.Sin(x * PI) + 40.0 * Math.Sin(x / 3.0 * PI)) * 2.0 / 3.0ret += (150.0 * Math.Sin(x / 12.0 * PI) + 300.0 * Math.Sin(x / 30.0 * PI)) * 2.0 / 3.0Return retEnd FunctionFunction 转纬度(x As Double, y As Double)Dim ret As Double = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.Sqrt(Math.Abs(x))ret += (20.0 * Math.Sin(6.0 * x * PI) + 20.0 * Math.Sin(2.0 * x * PI)) * 2.0 / 3.0ret += (20.0 * Math.Sin(y * PI) + 40.0 * Math.Sin(y / 3.0 * PI)) * 2.0 / 3.0ret += (160.0 * Math.Sin(y / 12.0 * PI) + 320 * Math.Sin(y * PI / 30.0)) * 2.0 / 3.0Return retEnd Function

标准经纬度转高德经纬度

调用API,需要去高德地图官网申请key(暂时没找到其它方法,有其它方法的请留言告诉我)

    Function 标准转高德(st As String) As String标准转高德 = 转高德(st, "gps")End FunctionFunction 转高德(st As String, res As String) As String '其他转高德,res=gps(标准转高德) =baidu(百度转高德)TryDim url = "http://restapi.amap.com/v3/assistant/coordinate/convert?locations=" & st & "&coordsys=" & res & "&output=JSON&key=" & myKey '申请keyDim winhttpReq As ObjectDim objJSON As ObjectwinhttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")With winhttpReq.Open("GET", url, False).send()Dim str = .RESPONSETEXTIf str <> "" ThenWith CreateObject("msscriptcontrol.scriptcontrol").Language = "JavaScript".AddCode("var mydata =" & str)objJSON = .CodeObject转高德 = .Eval("mydata.locations")End WithEnd IfEnd WithCatch转高德 = ","End TryEnd Function

百度经纬度转标准经纬度

1、百度先转高德

2、高德再转为标准。


标准经纬度转百度经纬度

方法一:

1、标准先转高德

2、高德再转为百度

方法二(API):

Function 标准转百度(st As String) As StringDim x, y, x1, y1Dim from = "0" '原始Dim tos = "4" '百度Dim objJSON'--------------------------------------------------------------------'请求接口中有四个参数:'其中,from和to对应的值分别是:0真实坐标;2google坐标;4baidu坐标。'from:       被转换的坐标体系()'to:转换到这个坐标体系'x:          经度()'y:          纬度()'接口应答中有三个key,'应答格式如:{"error":0,"x":"MTE2LjMyMTYyMzg4MjIz","y":"NDAuMDY2NDE2Mjc4NzMx"}'--------------------------------------------------------------------Dim url = "http://api.map.baidu.com/ag/coord/convert?from=" & from & "&to=" & tos & "&x=" & Split(st, ",")(0) & "&y=" & Split(st, ",")(1)Dim winhttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")With winhttpReq.Open("GET", url, False).send()Dim str = .RESPONSETEXTIf str <> "" ThenWith CreateObject("msscriptcontrol.scriptcontrol").Language = "JavaScript".AddCode("var mydata =" & str)objJSON = .CodeObjectx = Convert.FromBase64String(.Eval("mydata.x"))y = Convert.FromBase64String(.Eval("mydata.y"))For i = 0 To UBound(x) : x1 = x1 & Chr(x(i)) : Next '解密经度For i = 0 To UBound(y) : y1 = y1 & Chr(y(i)) : Next '解密纬度End WithEnd If标准转百度 = x1 & "," & y1End WithEnd Function

百度经纬度转高德经纬度

    Const PI = 3.1415926535897931 '圆周率Function 百度转高德(st As String) As String'百度转高德 = 转高德(st, "baidu")TryDim x_pi As Double = PI * 3000.0 / 180.0Dim x As Double = CDbl(Split(st, ",")(0)) - 0.0065Dim y As Double = CDbl(Split(st, ",")(1)) - 0.006Dim z As Double = Math.Sqrt(x * x + y * y) - 0.00002 * Math.Sin(y * x_pi)Dim theta As Double = Math.Atan2(y, x) - 0.000003 * Math.Cos(x * x_pi)Dim x1 As Double = z * Math.Cos(theta)Dim y1 As Double = z * Math.Sin(theta)百度转高德 = CStr(x1 & "," & y1)Catch百度转高德 = ","End TryEnd Function

高德经纬度转百度经纬度

    Const PI = 3.1415926535897931 '圆周率Function 高德转百度(st As String) As StringTryDim x_pi As Double = PI * 3000.0 / 180.0Dim x As Double = CDbl(Split(st, ",")(0))Dim y As Double = CDbl(Split(st, ",")(1))Dim z As Double = Math.Sqrt(x * x + y * y) + 0.00002 * Math.Sin(y * x_pi)Dim theta As Double = Math.Atan2(y, x) + 0.000003 * Math.Cos(x * x_pi)Dim x1 As Double = z * Math.Cos(theta) + 0.0065Dim y1 As Double = z * Math.Sin(theta) + 0.006高德转百度 = CStr(x1 & "," & y1)Catch高德转百度 = ","End TryEnd Function

高德经纬度、百度经纬度、标准经纬度相互转换(VB.NET)相关推荐

  1. android 接百度SDK遇到的坑(百度地图BD09经纬度转高德地图GCJ02经纬度)

    百度转高德==> /*** 百度坐标系 (BD-09) 与 火星坐标系 (GCJ-02)的转换* 即 百度 转 谷歌.高德** @param latLng* @returns*/public s ...

  2. python百度地图api经纬度_Python调用百度地图和高德地图API批量获取国内城市地址经纬度坐标...

    1 数据准备 经过尝试,百度地图API需要输入城市中文名称才能获取对应经纬度坐标,因此先将英文的城市名称转为中文 一共347个城市 由于在测试过程中发现高德和百度地图API分别有几个城市的地址无法获取 ...

  3. 标准坐标系经纬度转百度火星坐标系经纬度

    标准坐标系经纬度转百度火星坐标系经纬度,代码如下: package com.qwrt.fire.sensor.util;/*** Created by jack on 2018/4/27.* 火星坐标 ...

  4. 全球地区资料json 含中英文 经纬度_爬虫实战(三)使用百度API获取经纬度/地址...

    点击上方"蓝字"关注我们百度API获取经纬度/地址Mar 28, 2020 本期介绍给定地址/经纬度,使用百度API来获取经纬度/地址. 本文约3k字,预计阅读18分钟. 本次是第 ...

  5. 百度地图根据经纬度获取地址

    2019独角兽企业重金招聘Python工程师标准>>> 百度地图根据经纬度获取地址 查询地址要内部实现MKSearchListener接口 Java代码 public class S ...

  6. 百度BD09加密经纬度转国测局GCJ02经纬度

    正在做的一个微信公众号的项目要求根据用户输入的地址获取经纬度, 并导航到指定位置, 之前头脑一热用了百度的API做定位, 现在要做导航需要调用微信的SDK, 发现百度获取的经纬度是加密过的BD09格式 ...

  7. android 逆地址,Android高德获取逆地址编码(经纬度坐标-地址描述如省市区街道)

    Android高德获取逆地址编码(经纬度坐标-地址描述如省市区街道) 可以在非地图视图下直接获取,只要传入当前位置的经纬度 当然也可以在地图模式下获取详细信息 在非第三方地图集成下(系统自带功能)获取 ...

  8. 百度地图获取经纬度后,获取区域代码和地址

    百度地图获取经纬度后,获取区域代码和地址: function getdistrct_code($location){$url ="api.map.baidu.com/geocoder/v2/ ...

  9. 根据php经纬度百度地图打点,PHP使用百度地图获取指定地址坐标:经纬度(图文+视频)...

    本篇文章主要给大家介绍PHP使用百度地图获取指定地址坐标之经纬度的实现方法. 在之前的文章[PHP使用百度地图获取指定地址坐标:创建AK]中,已经给大家介绍了如何在百度地图开放平台中创建AK(api ...

  10. 百度地图根据经纬度坐标,显示汽车行驶轨迹

    继上一篇:百度地图根据经纬度坐标,显示轨迹 又进行了些许优化.将固定点为变为汽车行驶轨迹并添加点位. 上一篇链接:https://blog.csdn.net/qq_36865945/article/d ...

最新文章

  1. 罗念梓(帮别人名字作诗)
  2. 解决Couldn't resolve host 'mirrorlist.centos.org
  3. java 修改商品如何实现的_Javaweb-案例练习-5-商品数量修改和合计金额实现
  4. text-align:justify 使用参考
  5. 2016蓝桥杯省赛---java---B---8(四平方和)
  6. java fx消息通知_如何设置对话框控件Java FX / Java 8的图标
  7. 【我的物联网成长记12】当物联网遇上边缘计算
  8. 网址路由Routing组件如何在mvc中生成网址
  9. C++11多线程------std::async
  10. openssl做HMAC实例(C++)
  11. csdn积分获取攻略
  12. 第一章 .NET体系结构
  13. JDK包括的Java基础类库_问:JDK是Java平台的核心,Java运行环境、Java工具、Java基础类库(rt.jar)。J...
  14. AirPods声音越来越小问题
  15. 在html中写响应式布局的代码,CSS实现响应式布局的方法
  16. JS实现注册登录发送短信验证码动态显示60S倒计时完整案例
  17. html手机自动放大,解决HTML5手机端页面缩放的问题
  18. k8s本地开发工具telepresence及部署
  19. 国外免实名域名有没有?
  20. MIPI转LVDS芯片 替代东芝TC358775XBG

热门文章

  1. 胡震宁先生的《职业生涯规划》
  2. 电脑桌面图标点击没反应
  3. 处理url时服务器发生错误,请和系统管理员联系,服务器处理URL时出错。请与系统管理员联系的解决方案...
  4. 工作经验分享|你在工作中应该注意什么?
  5. 为什么华为,腾讯,阿里等大公司都有外包员工?
  6. tan和cot的梗_sin cos tan cot 之间的关系
  7. 国自然标书,600多份成功申请基金的标书 可下载
  8. 【操作系统原理-陈渝老师】第十二章 文件系统
  9. python3的print()函数的用法图文讲解
  10. php screw.so,php_screw