关于ios11和Chrome浏览器非HTTPS 对高德定位不支持问题
最近,在开发二维码签到系统时,需要对用户的签到的经纬度进行获取,并且判断签到距离是否在可支持范围内。
使用了高德地图。因为本人最近刚刚入手了一款新的Iphone7里面是最新的ios11系统。发现我的手机总是定位失败。后来查阅知,现在Chrome浏览器和ios等系统需要HTTPS才可以获得定位。其他安卓手机都正常。最后在高德地图的问题中心找到了解决办法。
苹果新发的 iOS 11 操作系统的一大特性是对 http 形式访问页面的限制变得非常严格(相比iOS 10 和 iOS 9)。
高德提供的JS API功能均支持http和https两种协议访问,在iOS 11操作系统上推荐使用https形式访问功能页面和接口。
- 请先将JS API的版本升级到1.4.1版本:
<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.0&key=您申请的key值"></script>
- 然后需要满足以下两点:
1、需要使用JS API的高精度定位功能,在iOS 11上,请通过https访问定位。
2、您的个人(或企业)网站在iOS 11系统下也请您调整成https形式对终端用户提供。
如果修改之后依旧发生定位失败的情况,请参考如下:
- 类似 Chrome 等浏览器框架目前禁止非 https 环境进行定位,请在iOS11下尝试访问如下页面:
1、可以成功定位的页面地址:http://a.amap.com/jsapi_demos/static/remogeo/remo.html
2、需要引入的remogeo.js ,建议放置在本地:http://a.amap.com/jsapi_demos/static/remogeo/remogeo.js
3、重点需要关注的代码:
<!-- 加载远程定位脚本 -->
<script type="text/javascript" src="./remogeo.js"></script>
// ios环境切换到使用远程https定位
if (AMap.UA.ios && document.location.protocol !== 'https:') {
//使用远程定位,见 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);
};
}
- iOS 11下WebView定位超时可做如下调整:
//在info.plist添加
Privacy - Location When In Use Usage Description
日志现象:
webview[6877:601452] This app has attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSLocationWhenInUseUsageDescription key with a string value explaining to the user how the app uses this data
关于ios11和Chrome浏览器非HTTPS 对高德定位不支持问题的更多相关文章
- 解决Chrome浏览器访问https提示“您的连接不是私密连接”的问题
安装fiddler后,使用Chrome访问https网站时,可能会出现以下错误,本文说明如何解决此类问题: “您的连接不是私密连接”.“NET::ERR_CERT_AUTHORITY_INVALID” ...
- chrome浏览器hover时文字抖动bug
今天发现一个奇怪的bug,chrome浏览器里面 当父标签定位为fixed时,hover里面子标签时,文本会发生抖动,百思不得其解,经过多方查证,发现解决办法 -webkit-transform: ...
- (二)Fiddler抓取Firefox、Chrome浏览器上的https协议
Fiddler抓取Firefox.Chrome浏览器上的https协议 安装Fiddler后默认只抓取http协议,如果是https协议的话,浏览器就会提示"您的链接并不安全". ...
- 如何禁止chrome浏览器http自动转成https 【转】
Chrome 浏览器 地址栏中输入 chrome://net-internals/#hsts 在 Delete domain security policies 中输入项目的域名,并 Delete 删 ...
- 如何禁止chrome浏览器http自动转成https
Chrome 浏览器 地址栏中输入 chrome://net-internals/#hsts 在 Delete domain security policies 中输入项目的域名,并 Delete 删 ...
- 中文版Chrome浏览器不支持12px以下字体的解决方案
中文版Chrome浏览器不支持12px以下字体的解决方案 Chrome 27之前的中文版桌面浏览器会默认设定页面的最小字号是12px,英文版则没有限制,主要是因为chrome认为汉字小于12px就会增 ...
- 详解googe Chrome浏览器(理论篇)
开篇概述 1详解google Chrome浏览器,这个标题似乎抽象了一些,我想应该把它拆分成如下几个问题,也许会更加理解一些. 问题1:目前开发中,主选浏览器有Google Chrome,IE,Fir ...
- 详解Google Chrome浏览器(操作篇)(下)
开篇概述 由于最近忙于公司产品的架构与研发,已经三个多月没有写博客了,收到有些朋友的来信,问为什么不及时更新博客内容呢,他们说他们正期待着某些内容.对此,非常抱歉,那么我在此也给各位朋友一些承诺,从即 ...
- Chrome浏览器扩展开发系列之十:桌面通知Notification
Desktop Notification也称为Web Notification,是在Web页面之外,以弹出桌面对话框的形式通知用户发生了某事件.Web Notification于2015.9.10成为 ...
随机推荐
- ApacheFlink简介
对无界数据集的连续处理 在我们详细介绍Flink之前,让我们从更高的层面上回顾处理数据时可能遇到的数据集的类型以及您可以选择处理的执行模型的类型.这两个想法经常被混淆,清楚地区分它们是有用的. 首先, ...
- What's new in Safari 11.0
导语: Safari 11.0 的亮点 网络会议.使用WebRTC标准实现对等会议. 开发调试工具增强.使用用于测量代码和网络性能的新工具来测试代码. WebAssembly.当使用新的WebAsse ...
- 51nod 1562 玻璃切割 (STL map+一点点的思考)
1562 玻璃切割 题目来源: CodeForces 基准时间限制:1.5 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 现在有一块玻璃,是长方形的(w 毫米× h 毫米),现在要 ...
- Python 批量处理特定格式文件
#批量对文件夹下的'.mat'进行处理 def file_name(file_dir,suff): L=[] for root, dirs, files in os.walk(file_dir): f ...
- B. Recursive Queries 打表
Code: #include<cstdio> #include<iostream> #include<algorithm> #include<cstring& ...
- TP5 分页类,自定义样式
结合X-admin 后台框架 在做项目,为了保持分页风格的一致,所以需要自定义 一个分页类. 一.在项目的 extend 目录,创建 cus 目录 二.创建 Page 分页类,代码如下 <?ph ...
- 【codeforces 367C】Sereja and the Arrangement of Numbers
[题目链接]:http://codeforces.com/problemset/problem/367/C [题意] 我们称一个数列a[N]美丽; 当且仅当,数列中出现的每一对数字都有相邻的. 给你n ...
- Myeclipse学习总结(8)——Eclipse实用操作
工欲善其事,必先利其器.对于程序员来说,Eclipse便是其中的一个"器".本文会从Eclipse快捷键和实用技巧这两个篇章展开介绍.Eclipse快捷键用熟后,不用鼠标,便可进行 ...
- 洛谷 P1524 十字绣
P1524 十字绣 题目背景 考古学家发现了一块布,布上做有针线活,叫做“十字绣”,即交替地在布的两面穿线. 题目描述 布是一个n*m的网格,线只能在网格的顶点处才能从布的一面穿到另一面.每一段线都覆 ...
- java实现文件的上传与下载
(一)文件的上传:在这一部分,我要将execl文件的内容上传到数据库中,完成这一功能.需要分为两步: 1:将文件上传到tomcat下 文件格式如下: 2:读取execl表中的内容到数据库中 首先:下载 ...