2012-01-04 1 views
0

マップレンダリング。これはFirefox上でうまく動作しますが、iPhoneでテストしたところ、ロケーションの使用を促すとマップはレンダリングされません。一度私がサファリを閉じてから再び開いたら、地図はジオロケーションにレンダリングされ始めました。これは私の地図を初期化する方法でサファリや何か間違ったバグですか?サファリモバイルジオロケーションと、私は彼らのブラウザは、デフォルトのマップの中心位置に送るジオロケーションをサポートしていない場合は、モバイルウェブアプリのユーザーの位置を取得しようとしています

function init() { 
    var center = new google.maps.LatLng(42.283151,-87.955098); 
    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(function(position) { 

     var loc = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 


     map = new google.maps.Map(document.getElementById('map_canvas'), { 
     zoom: 11, 
     center: loc, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
     }); 

     new google.maps.Marker({ 
      position: point, 
      map: map 
     }); 
     }); 
    } 
    else { 
      map = new google.maps.Map(document.getElementById('map_canvas'), { 
     zoom: 15, 
     center: center, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 

    } 
} 

答えて

0

iPhoneのGPSがあなたの場所の修正を取得するのに十分な時間がかかりますか?ロケーションサービスのこの最初の活性化は、意図したように、後続の負荷が働く理由を説明するAPIに戻るには正確な位置を取得するにはしばらく時間がかかることができます。

は、あなたの中にはHTML5ジオロケーション機能は、(おそらく「ロード...」のメッセージあなたはgetCurrentPositionを呼び出した後の表示)が実行されていることを示すために、いくつかのコードを追加する価値があるかもしれません。うまくキャッチし、優雅に扱うとgetCurrentPosition中に発生errorsするよう

エラーコールバックは価値があるだろう。あなたは間違いなくnavigator.geolocationは本当ですが、それはあなたが定義した成功の機能をトリガしません場合に実行することができます。

+0

私はあなたがHTML5ジオロケーションのためのロード画面の件名のどこかに正しい方向に私を送ることができ、(常にすべてサーバ側は最近までやった)のjavascript/HTML5に、むしろ新たなんです。 – rajh2504

関連する問題