大家好,我正在创建一个使用 Geolocation API 来定位最终用户的 Web 应用程序。它在我能想到的几乎所有平台上都运行良好,除了 Internet Explorer 9。不过事情变得有点奇怪。如果我将 Google 工具栏加载到我的 Internet Explorer 浏览器窗口中,一切都会顺利进行。这是我一直在使用的有问题的代码块:
if (navigator.geolocation) {
var locationMarker = null;
navigator.geolocation.watchPosition(
function( position ){
var point = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
if (!locationMarker) {
locationMarker = addMarker(
position.coords.latitude,
position.coords.longitude,
"Initial Position"
);
}
else{
updateMarker(
locationMarker,
position.coords.latitude,
position.coords.longitude,
"Updated / Accurate Position"
);
};
map.setCenter(point);
if (map.zoom < 17){
map.setZoom(17);
};
},
function( error ){
console.log( "Something went wrong: ", error );
},
{
timeout: (5 * 1000),
maximumAge: (1000 * 60 * 15),
enableHighAccuracy: true
}
);
}
else {
alert("Geolocation is not supported by this browser");
}
每当我使用 Internet Explorer 9 访问我的应用程序时,我都会收到“此浏览器不支持地理位置”警报。除非我激活了我的 Google 工具栏。但是,如果 Google 工具栏处于活动状态,则 Google 工具栏会处理权限。
如何让地理定位在 IE9 中工作?我的应用程序可以在 Safari、Firefox、Chrome、iOS 和 Android 中完美运行。我完全被难住了。
谢谢,泰勒·沃林