在 iOS 11 系统上访问JS API定位业务失败怎么解决?

苹果新发的 iOS 11 操作系统的一大特性是对 http 形式访问页面的限制变得非常严格(相比iOS 10 和 iOS 9)。高德提供的JS API功能均支持http和https两种协议访问,在iOS 11操作系统上推荐使用https形式访问功能页面和接口。

具体实施步骤:

1、引进JS API文件,最好下载到本地。

HTML

请确保进入的JS API是1.4.1或者更高版本。v=1.4.0表示的是1.4.0版本,引入时请更新为1.4.1版本或者下载对应代码到本地后再引入。

2、使用定位的完整代码如下:

//获取用户所在位置的经纬度

var get_position = function(calltype,signdata,qrcodeID,codeBtnFlag){

var map,geolocation;

//加载地图,调用浏览器定位服务

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

resizeEnable: true

});

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

//geolocation = new AMap.Geolocation({

//获取经纬度等待的时间

//timeout: 4000//此为设置的超时毫秒数。若在指定时间内未定位成功,返回超时错误信息“TIMEOUT”,默认值为无穷大

//});

geolocation = new AMap.Geolocation();

//判断是否是ios系统,如果是,则调用远程定位方法

if (AMap.UA.ios) {

//使用远程定位,见 remogeo.js

var remoGeo = new RemoGeoLocation();

//替换方法

navigator.geolocation.getCurrentPosition = function() {

return remoGeo.getCurrentPosition.apply(remoGeo,arguments);

};

//替换方法

navigator.geolocation.watchPosition = function() {

return remoGeo.watchPosition.apply(remoGeo, arguments);

};

}

map.addControl(geolocation);

//询问是否允许获取地理信息

geolocation.getCurrentPosition();

//定位成功,返回经纬度信息

AMap.event.addListener(geolocation,'complete', onComplete);

//定位失败,返回定位出错信息

AMap.event.addListener(geolocation,'error',onError);

});

//解析定位结果

function onComplete(data) {

var qiandao_lng = data.position.getLng();

var qiandao_lat = data.position.getLat();

//利用经纬度,do something

}

//解析定位错误信息

function onError(data) {

alert('定位失败');

}

}

PS:要想在自己的项目中使用地图相关功能,可通过调用官方地图接口API,就可以使用其提供的功能,百度、腾讯、高德、谷歌等都有提供,至于使用哪一种看具体项目需求。

ios 高德获取定位_解决ios11不支持高德地图API定位功能的方法相关推荐

  1. 百度IP定位和百度地图API定位

    百度IP定位和百度地图API定位 在这里根据你所获得ip,来确定这个ip的大体位置 [java] view plaincopy <span style="font-size:14px; ...

  2. 百度地图api定位的使用详解和返回错误码61的解决方案

    返回错误码61的解决方案我记不住了,我是看了官方demo改的,不过可以看下面的配置设置,应该可以解决,如果不能解决,可以评论或联系我 百度地图api定位的使用详解 1.获取密钥 官网 2.下载SDK, ...

  3. 【解决】Android 腾讯地图 选点定位组件,获取当前位置有偏差所遇到的坑!!

    解决方案一: 获取当前位置有偏差只能到市?可以先定位获取经纬度,然后把经纬度拼接到链接中即可 https://blog.csdn.net/yechaoa/article/details/8889378 ...

  4. win10pin不可用进不去系统_解决win7系统下连接网络打印机不可用的处理方法

    解决win7系统下连接网络打印机不可用的处理方法 作者:电脑帮帮手 win7系统连接网络打印机,相对Xp系统更为智能化,它会自动帮你搜索可用打印机驱动默认给你安装,但是有些网络打印机驱动,自身系统未必 ...

  5. python字符串拼接数字_解决Python中字符串和数字拼接报错的方法

    解决Python中字符串和数字拼接报错的方法 前言 众所周知Python不像JS或者PHP这种弱类型语言里在字符串连接时会自动转换类型,如果直接将字符串和数字拼接会直接报错. 如以下的代码: # co ...

  6. max图像io错误_解决3dmax软件出现IO error错误异常的有效方法

    3dmax出现IO error错误该怎么办?大家在使用3dmax软件时有没有遇到过出现IO error错误异常的情况,本文小编将要和大家分享解决3dmax软件出现IO error错误异常的有效方法.有 ...

  7. 基于Android studio的使用百度地图API定位到大西洋几内亚湾(一片蓝图)问题

    问题:点进去发现跳转一下就定位到几内亚湾 解决: 首先不要使用模拟器运行,会出很多问题,一定要用真机运行,另外这里不提供定位的代码实现,具体定位自己需要参考官方文档,这里提供一个链接点击此处 解决办法 ...

  8. java web几百万分页_举例详解用Java实现web分页功能的方法

    举例详解用Java实现web分页功能的方法 发布于 2020-11-25| 复制链接 摘记: 分页问题是一个非常普遍的问题,开发者几乎都会遇到,这里不讨论具体如何分页,说明一下Web方式下分页的原理. ...

  9. ios python3闪退_解决Python3 cx_Freeze打包闪退/无法执行以及No module named 'matplotlib.backends.backend_tkagg'...

    [虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在.所以了解原理很重要.这里讲述在没有ARC的情况下,如何使用Instruments来查找程 cx_Free ...

最新文章

  1. 怎样才可以过大学英语六级啊,有没有好点的方法?【转载】
  2. nginx-0.1.0文件分析3:ngx_send.c
  3. Zabbix的简单使用
  4. Browser Core
  5. PB级(大数据)的来源
  6. 有趣、高效的编程示例
  7. AjaxControltoolkit学习笔记—Animation使用详解
  8. 2022江苏省大学生电子设计竞赛(TI杯)赛后回顾(江苏省二等奖)
  9. 《推荐系统实践》协同过滤算法源代码
  10. 图像格式(YUYV)
  11. SecKill——一款超级好用的抢单软件
  12. 《操作系统真象还原》第九章 ---- 终进入线程动斧开刀 豁然开朗拨云见日 还需解决同步机制才能长舒气
  13. flutter 获取定位_Flutter 获取定位
  14. mysql 磁盘已满_MySQL 磁盘满了,怎么办??
  15. Promise请求并发
  16. mysql中的Decimal括号怎么写,decimal(m,d)
  17. 干法读书心得:第一章 “极度”认真地工作能扭转人生
  18. 液晶屏TTL屏、LVDS屏的区别
  19. 初创企业如何选购企业邮箱?
  20. 【2437. 有效时间的数目】

热门文章

  1. ASP.NET MVC 使用Log4Net记录系统运行中问题
  2. 8266 at 驱动_AT、CVT、DCT 变速器,到底哪个更靠谱
  3. matlab 设计带阻型陷波滤波器_Q值可调、最大增益恒定的带通滤波器
  4. linux共享内存示例,linux 进程间共享内存示例
  5. JAVA minaio模型_分布式系统之Java IO模型
  6. python只读模式可以打印嘛_只读python属性?无法打印对象
  7. IE浏览器怎么在桌面隐藏图标
  8. win7系统还原失败怎么解决
  9. 跨平台低延迟的RTMP/RTSP直播播放器设计实现
  10. java中的字符串_java中字符串的操作