2013-07-18 5 views
0

Я использую 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

Для сообщения об ошибке будет отображаться, если ваш браузер не поддерживает геолокации, чтобы позволить отключить геолокации в браузере, который поддерживает его обычно нужно принимать выглядеть рядом с адресной строкой должно быть небольшой значок, который можно использовать для отключения/включения геолокации.

Для того, чтобы обнаружить предыдущее решение погоду вы включить/отключить геолокации вы можете использовать решение я предложил в этой статье:

Is there a way of detecting whether a user has already given permission to use navigator.geolocation?

Для IE9 это работает хорошо, единственное, вы следует щелкнуть Allow blocked cnotent в нижней части веб-страницы.

enter image description here

+0

я не получаю сообщение об ошибке, хотя - если я сделал, что было бы хорошо – user2246804

+0

в вашем IE9 взглянуть на дне и нажмите 'Разрешить заблокированное сценарий ...' –

+0

Извините Мехди, Я не получаю эту ошибку, я обещаю – user2246804

Смежные вопросы