map = new AMap.Map('container', {

resizeEnable: true

});

map.plugin('AMap.Geolocation', function() {

geolocation = new AMap.Geolocation({

enableHighAccuracy: true,//是否使用高精度定位,默认:true

timeout: 10000,          //超过10秒后停止定位,默认:无穷大

buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)

zoomToAccuracy: true,      //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false

buttonPosition:'RB'

});

map.addControl(geolocation);

geolocation.getCurrentPosition();

AMap.event.addListener(geolocation, 'complete', onComplete);//返回定位信息

AMap.event.addListener(geolocation, 'error', onError);      //返回定位出错信息

});

//解析定位结果

function onComplete(data) {

var EndLatitude = document.getElementById("EndLatitude").value;

var EndLongitude = document.getElementById("EndLongitude").value;

var str=['定位成功'];

str.push('经度:' + data.position.getLng());

str.push('纬度:' + data.position.getLat());

var gpsPoint = GPS.gcj_encrypt(data.position.getLat(), data.position.getLng());

lng= gpsPoint.lon;

lat= gpsPoint.lat;

if(data.accuracy){

str.push('精度:' + data.accuracy + ' 米');

}//如为IP精确定位结果则没有精度信息

str.push('是否经过偏移:' + (data.isConverted ? '是' : '否'));

//var a = "http://api.map.baidu.com/direction?origin=latlng:" + position.coords.latitude + "," + position.coords.longitude + "|name:我的位置&destination=latlng:" + EndLatitude + "," + EndLongitude + "|name:目的地&mode=driving&region=成都&output=html&src=scnjw";

//var a = "http://api.map.baidu.com/direction?origin=latlng:31.64380,105.00065|name:去嘛&destination=latlng:30.64380,104.00065|name:来嘛&mode=driving&region=成都&output=html&src=scnjw";

//   var a = "http://uri.amap.com/navigation?from=" + position.coords.longitude + "," + position.coords.latitude + ",我的位置&to=" + EndLongitude + "," + EndLatitude + ",目的地&mode=car&policy=1&src=mypage&coordinate=gaode&callnative=0";

var a = "http://uri.amap.com/navigation?from=" +lng+","+lat + ",我的位置&to=" + EndLongitude + "," + EndLatitude + ",目的地&mode=car&policy=1&src=mypage&coordinate=gaode&callnative=0";

top.location = a;

}

//解析定位错误信息

function onError(data) {

document.getElementById('tip').innerHTML = '定位失败';

}

var GPS = {

PI: 3.14159265358979324,

x_pi: 3.14159265358979324 * 3000.0 / 180.0,

delta: function (lat, lon) {

var a = 6378245.0; //  a: 卫星椭球坐标投影到平面地图坐标系的投影因子。

var ee = 0.00669342162296594323; //  ee: 椭球的偏心率。

var dLat = this.transformLat(lon - 105.0, lat - 35.0);

var dLon = this.transformLon(lon - 105.0, lat - 35.0);

var radLat = lat / 180.0 * this.PI;

var magic = Math.sin(radLat);

magic = 1 - ee * magic * magic;

var sqrtMagic = Math.sqrt(magic);

dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * this.PI);

dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * this.PI);

return {

'lat': dLat,

'lon': dLon

};

},

//WGS-84 to GCJ-02

gcj_encrypt: function (wgsLat, wgsLon) {

if (this.outOfChina(wgsLat, wgsLon))

return {

'lat': wgsLat,

'lon': wgsLon

};

var d = this.delta(wgsLat, wgsLon);

return {

'lat': wgsLat + d.lat,

'lon': wgsLon + d.lon

};

},

outOfChina: function (lat, lon) {

if (lon < 72.004 || lon > 137.8347)

return true;

if (lat < 0.8293 || lat > 55.8271)

return true;

return false;

},

transformLat: function (x, y) {

var ret = -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 * this.PI) + 20.0 * Math.sin(2.0 * x * this.PI)) * 2.0 / 3.0;

ret += (20.0 * Math.sin(y * this.PI) + 40.0 * Math.sin(y / 3.0 * this.PI)) * 2.0 / 3.0;

ret += (160.0 * Math.sin(y / 12.0 * this.PI) + 320 * Math.sin(y * this.PI / 30.0)) * 2.0 / 3.0;

return ret;

},

transformLon: function (x, y) {

var ret = 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 * this.PI) + 20.0 * Math.sin(2.0 * x * this.PI)) * 2.0 / 3.0;

ret += (20.0 * Math.sin(x * this.PI) + 40.0 * Math.sin(x / 3.0 * this.PI)) * 2.0 / 3.0;

ret += (150.0 * Math.sin(x / 12.0 * this.PI) + 300.0 * Math.sin(x / 30.0 * this.PI)) * 2.0 / 3.0;

return ret;

}

};

位置偏差 转换

var result = gcoord.transform(

[104.059303, 30.542873],    // 经纬度坐标

gcoord.WGS84,                 // 当前坐标系

gcoord.GCJ02                   // 目标坐标系

);

console.log( result );

gcoord官网

https://github.com/hujiulong/gcoord

高德地图定位误差_高德地图定位api以及导航和定位 位置的偏差相关推荐

  1. 高德h5定位误差_#高德地图api移动端定位失败解决方案 #H5 原生Geollocation接口Chomre浏览器的坑...

    侧重:本文探索了 http 协议下,pc + 移动端定位解决方案 IOS版本: ios14 原生Geolocation 接口: Document Show my location function g ...

  2. 高德h5定位误差_高德地图定位JS API不准确问题

    到网上找了个解决高德偏移量的代码 https://blog.csdn.net/woshimu... 我的是ip定位 转换过的定位就准确了 this.map.plugin('AMap.Geolocati ...

  3. 高德地图去掉定位按钮_高德地图自定义定位按钮及点击事件

    最近使用了一下高德地图,使用期间将出现的问题记录一下.文中出现不对的地方,悉听各路大神指正.2018年11月23日15:59:46 1.首先我们初始化map控制对象aMap .if (aMap ==n ...

  4. 高德地图定位失败_高德开放平台

    JS-API的Geolocation定位插件,融合了HTML5 Geolocation定位接口.精确IP定位服务,以及安卓定位sdk定位.其中与安卓定位sdk的结合使用适用于开发安卓系统的H5应用,需 ...

  5. ios 高德挪动地图获取经纬度_高德地图获取地理位置经纬度并将经维度转化为详细地址信息...

    浏览器定位 经纬度 116.396574, 39.992706 的地理编码结果: /*************************************** 由于Chrome.IOS10等已不再 ...

  6. 高德地图 街道范围_高德地图推出货车导航,解决3000万货车司机出行痛点

    [猎云网(微信:ilieyun)北京]12月6日报道 高德地图今日推出全新的货车导航功能,易行平台出行方式及范围再次升级.这也是高德地图继推出无障碍地图之后,再一次面向特殊需求群体推出的新功能.货车导 ...

  7. android高德地图获取海拔_高德地图如何查经纬度和海拔

    展开全部 高德地图测海拔的具体方法如下: 1.第一步打636f70793231313335323631343130323136353331333366306564开高德地图的网页,找到并点击下方那行小 ...

  8. wms地图绘制工具_移情地图,了解用户需求的利器

    如果你想打造一款成功的产品,对你的用户有一个良好的了解是至关重要的.虽然用户体验设计师有许多技能可以帮助他们发展这种理解,但有一种关键技能有很多优势,它称为移情地图. User-Experience ...

  9. 百度地图 绘制运动轨迹_百度地图创新破局:声音个性表达、出行精准预估与全球无碍...

    12月20日-22日,在"极客公园创新大会十周年GeekPark IFX"未来趋势论坛上,百度地图事业部总经理李莹发表了题为<AI时代,地图的破局与思考>主题演讲,分享 ...

  10. 地图样式自定义_用地图做数据分析,地图可视化更显高级

    地图看成是"反映自然和社会现象的形象.符号模型",是"空间信息的载体"."空间信息的传递通道"等.随着时代的变迁.思维的改变.科技的发展,地 ...

最新文章

  1. 小程序的ui应该怎么设计?
  2. RedLock: 看完这篇文章后请不要有任何疑惑了
  3. php 验证码 扩展,使用 Captcha 扩展包 为 Laravel 5 应用生成验证码
  4. python输入完怎么运行-教你如何编写、保存与运行Python程序的方法
  5. 【Flutter】Dart 面向对象 ( 抽象类 | 抽象方法 )
  6. Python 编码风格参考
  7. 为此计算机所有用户安装加载项,安装Office 2013后,无法在计算机上安装Outlook加载项...
  8. 常染色体的隐性疾病数学建模(代数模型)
  9. mysql collate
  10. 【文末福利】算法大赛评委共话技术趋势,这场直播值得一看!
  11. windows安装多个jdk版本的切换问题
  12. LeetCode(617)——合并二叉树(JavaScript)
  13. Android数据存储——内部存储
  14. MCE公司:新型 RORγt 小分子反向激动剂的发现
  15. ui设计师必须了解的13中移动app界面设计的基础知识
  16. Optimized Cost per Click in Taobao Display Advertising - 淘宝 OCPC 阅读笔记
  17. unzip解压部分代码
  18. 图标字体的优缺点和使用
  19. 在日本转职需要到入管办理转职手续
  20. pytorch学习--UNet模型

热门文章

  1. cint、int、fix的区别
  2. 使用Hooks实现防抖节流 TS版本
  3. 周爱民对提升程序员自身技术能力的建议
  4. Win11如何更改屏幕刷新率?Win11更改屏幕刷新率的方法
  5. [经验] 我想加入阿里,我该怎么做
  6. 怎么查看自己网站的访问量
  7. 新手配置Intel NUC8i5INH的Ubuntu 16.04 时无法上网
  8. ISP模块之色彩增强算法--HSV空间Saturation通道调整
  9. 关于《成电讲坛》活动领票环节的调查报告
  10. android6.0 来电流程,Android4.22来电铃声流程