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 をサポートしていません (テスト サイトを独自のスクリプトで試しました) が、エラーや警告は表示されません。またはアラートのいずれか。

誰か助けてくれませんか?実行できない場合は、代替手段を提供できるので、エラー コードをそれほど調べる必要はないと思いますが、代替手段を提供できるように障害を検出できる必要がありますが、スクリプトのエラー部分は関係なく実行されません。

私の質問は本当に、なぜこれが実行されないのですか?

else 
{
document.getElementById('error').innerHTML = 'No Geolocation Support';
}

ありがとう

4

1 に答える 1