我正在使用Geolocation,但我无法识别错误,无法提供替代方案。
我的HTML看起来像这样:
<button onclick="getLocation()">Get your location now</button>
<div id="google_canvas"></div>
<p id = 'error'></p>
我的脚本如下所示:
function getLocation(){
if(navigator.geolocation)
{
var map;
var mapOptions =
{
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById('google_canvas'), mapOptions);
navigator.geolocation.getCurrentPosition(function(position)
{
var geolocate = new google.maps.LatLng(position.coords.latitude, position.coords.longitude),latitude=document.getElementById("latitude"),longitude=document.getElementById("longitude");
var infowindow = new google.maps.InfoWindow(
{
map: map,
position: geolocate,
content:
' * output content within map * '
});
map.setCenter(geolocate);
latitude.value = position.coords.latitude;
longitude.value = position.coords.longitude;
});
}
else
{
document.getElementById('error').innerHTML = 'No Geolocation Support';
}
};
google.maps.event.addListener(map, 'idle', function() {
});
我的IE9版本不支持Geolocation(我用他们自己的脚本尝试过他们的测试网站),但它没有给我任何错误或警告,如果我不允许在Firefox或Chrome中定位,我不会得到任何错误或警告。
有人可以帮忙吗?如果它无法运行,我可以提供替代方案,所以我不认为我需要查看错误代码这么多,但我确实需要能够检测到失败,所以我可以提供我的替代方案,但我的脚本中的错误部分不管怎么说都不会跑。
我的问题是,为什么其他人不会这样做?
else
{
document.getElementById('error').innerHTML = 'No Geolocation Support';
}
由于
答案 0 :(得分:0)
如果您的浏览器不支持地理位置,则会显示错误消息,要在支持它的浏览器上启用禁用地理位置,您通常需要查看地址栏旁边的应该有一个可以用来禁用的小图标/启用地理位置。
为了让您检测以前的决策天气您启用/禁用地理位置,您可以使用我在本文中建议的解决方案:
对于IE9,它运行正常,唯一的一点是你应该点击网页底部的Allow blocked cnotent
。