[英]Geolocation Error Detection
我正在使用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版本不支持地理位置定位(我已經使用自己的腳本嘗試了他們的測試站點),但是它沒有錯誤或警告,而且如果我不允許在Firefox或Chrome中定位,也不會出現任何錯誤或提醒。
有人可以幫忙嗎? 如果無法運行,我可以提供替代方案,因此我認為我不需要仔細檢查錯誤代碼,但是我確實需要能夠檢測到故障,因此我可以提供替代方案,但是腳本中的錯誤部分不會運行,無論如何。
我的問題確實是,為什么不這樣做?
else
{
document.getElementById('error').innerHTML = 'No Geolocation Support';
}
謝謝
對於您的錯誤消息,如果您的瀏覽器不支持地理定位,則會出現該錯誤消息,要在支持它的瀏覽器上啟用禁用地理定位,通常需要在地址欄旁邊看一下,您應該可以使用一個小圖標來禁用/啟用地理定位。
為了使您能夠檢測先前啟用或禁用地理位置的決策天氣,可以使用我在本文中建議的解決方案:
有沒有一種方法可以檢測用戶是否已被授予使用navigator.geolocation的權限?
對於IE9,它工作正常,唯一的事情是您應該單擊網頁底部的“ Allow blocked cnotent
點”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.