3

HTML5 geolocation API を使用しようとしています。しかし、Firefox Chrome と Chromium で動作させるには問題があります:


init();

function init() {;
    // Get the current location
    getPosition();      
}

function getPosition() {
    navigator.geolocation.getCurrentPosition(success, fail,{
        enableHighAccuracy:true,
        timeout:10000,
        maximumAge:Infinity
    });    
}   

function success(position) {
    alert("Your latitude: " + position.coords.latitude + "longitude: "
        + position.coords.longitude);
}

function fail(e) {
    alert("Your position cannot be found"+e.code+" => "+e.message);
}

IE9 と Safari では問題なく動作します。しかし :

  • Firefox (v13 および V14) では、エラー コード 3 (タイムアウト) があります。
  • Chrome および Chromium (v20 および v21) には、「'https://maps.googleapis.com/maps/api/browserlocation/json?browser=googlechrome&sensor=true' のネットワーク ロケーション プロバイダー: 応答」というメッセージを含むエラー コード 2 があります。不正でした。」

Chrome を新規インストールし (Windows XP に今日インストールされ、拡張機能はありません)、ブラウザで地理位置情報を承認しました。

そこで試すことができます: http://jsfiddle.net/mhj82/38/

ジオロケーションをサポートするすべてのブラウザで動作させるソリューションはありますか?

4

3 に答える 3

0

Chromeで動作させるには、ドキュメントが読み込まれるまで待つ必要があります

jQuery().ready(function() {
   if (navigator.geolocation) { 
        navigator.geolocation.getCurrentPosition....
    }
});
于 2013-02-07T16:40:13.287 に答える
0

Chromeデスクトップとモバイルでテストされたこれを試してください

if (navigator.geolocation) {
    var latitude = null;
    var longitude = null;
    navigator.geolocation.getCurrentPosition(function (position) {
        latitude = position.coords.latitude;
        longitude = position.coords.longitude;
   });



} else {
    alert("Geolocation API is not supported in your browser");
};
于 2014-03-18T18:37:20.560 に答える
0

これを読んだことがありますか? http://code.google.com/p/chromium/issues/detail?id=41001

スレッドの最後で、Chrome で機能するには、wifi アダプターが動作しているデバイスで地理位置情報を実行する必要があるという結論に達しました。

お使いのコンピュータで Wi-Fi が有効になっていましたか?

(firefoxは知らない)

于 2012-08-07T09:37:22.830 に答える