当尝试使用以下代码获取用户位置时:
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 设备上的 native 应用程序和 Safari 浏览器中都收到一条错误消息,告诉我我的 Origin (https://domain.com) 没有使用地理定位服务的权限。代码所在的测试服务器有一个自签名证书,所以我不知道这是问题所在还是某个地方存在其他配置问题。
附带说明,所有适用的 key 都已添加到我的原生 iOS 应用程序的 info.plist 文件中。
Best Answer-推荐答案 strong>
一堆问题:
- 您是否向其中添加了 API key ? (使用“凭据”参数)
- 您使用的是什么许可证?您的许可证可能具有有限的凭据。
- 您知道 Bing map API 中有不同类型的服务吗?阅读here .查看平台表。不支持 iOS(甚至 Android)。
关于javascript - 为什么我的 https 源没有使用导航器地理定位服务的权限?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/39581925/
|