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