为啥我的 https 源没有使用导航器地理定位服务的权限?
Posted
技术标签:
【中文标题】为啥我的 https 源没有使用导航器地理定位服务的权限?【英文标题】:Why does my https origin not have permission to use navigator Geolocation service?为什么我的 https 源没有使用导航器地理定位服务的权限? 【发布时间】:2016-09-19 20:53:04 【问题描述】:尝试使用以下代码获取用户位置时:
var geoLocationProvider = new Microsoft.Maps.GeoLocationProvider(BingMap.map);
geoLocationProvider.getCurrentPosition(
showAccuracyCircle: false,
timeout: 6000,
successCallback: function (object)
if (navigator.geolocation)
//alert(ret);
SearchViewModel.ConsoleLog("watchPosition first try from getCurrentPosition successCallback");
BingMap.SetGPSLoading();
BingMap.trackingID = navigator.geolocation.watchPosition(BingMap.navigatorSuccess, BingMap.navigatorFail, maximumAge: 4000, timeout: 10000, enableHighAccuracy: true );
,
errorCallback: function (error)
if (navigator.geolocation)
console.log(error);
alert(error.internalError.message);
SearchViewModel.ConsoleLog("watchPosition first try from getCurrentPosition errorCallback");
BingMap.SetGPSLoading();
BingMap.trackingID = navigator.geolocation.watchPosition(BingMap.navigatorSuccess, BingMap.navigatorFail, maximumAge: 4000, timeout: 10000, enableHighAccuracy: true );
);
我在 ios10 设备上的本机应用程序和 Safari 浏览器中都收到一条错误消息,告诉我我的 Origin (https://domain.com) 没有使用地理位置服务的权限。代码所在的测试服务器有一个自签名证书,所以我不知道这是问题所在还是某个地方存在其他配置问题。
附带说明一下,所有适用的密钥都已添加到我的原生 iOS 应用程序的 info.plist 文件中。
【问题讨论】:
【参考方案1】:一堆问题:
-
您是否向其中添加了 API 密钥? (使用“凭据”参数)
您使用的是开发者/企业版什么许可证?您的许可证可能具有有限的凭据。
您知道 Bing 地图 API 中有不同类型的服务吗?阅读here。查看平台表。不支持 iOS(甚至 android)。
【讨论】:
以上是关于为啥我的 https 源没有使用导航器地理定位服务的权限?的主要内容,如果未能解决你的问题,请参考以下文章