0

このコードを使用して、正確なユーザーの位置を取得しています...

watchID=navigator.geolocation.watchPosition(handleGetCurrentPosition, handleGetCurrentPositionError, {enableHighAccuracy:true});

function handleGetCurrentPosition(location)
{   
    document.getElementById("lat").value = location.coords.latitude;
    document.getElementById("lon").value = location.coords.longitude;
    document.getElementById("accu").value =location.coords.accuracy;
    document.forms["myform"].submit();
}

function handleGetCurrentPositionError(){
    alert("Location could not be found.")
}

私が得ている結果は正確ではありません。私が使用しているコードに問題はありますか?

4

4 に答える 4

1

精度はGeolocationデバイスの機能によって異なります。そのデバイスで動作するnavigator.geolocationだけです。APIデバイスが高精度をサポートしていない場合、デバイスで何もできません。

于 2012-07-04T10:25:36.403 に答える
1

これは正確な位置を取得するための以下のコードです。私はこのコードをHTML5で書きました。

  1. HTMLドキュメントでマッププレースホルダーを作成します。

<output id="mapToYou">現在の場所を検索しています...</output>

  1. ページの読み込み時にこのjsスクリプトを呼び出します。
    window.addEventListener( "load"、function(){
        if(navigator.geolocation){
            navigator.geolocation.getCurrentPosition(success、error);
        } そうしないと {
            error('サポートされていません');
        }
    }、false);

    関数success(position){
        var mapToYou = document.querySelector('#mapToYou');
        alert( "ゴッチャ!");
        var latlng = new google.maps.LatLng(position.coords.latitude、position.coords.longitude);
        var myOptions = {
                    ズーム:15、
                    中央:latlng、
            mapTypeControl:false、
            NavigationControlOptions:{
                スタイル:google.maps.NavigationControlStyle.SMALL
            }、
            mapTypeId:google.maps.MapTypeId.ROADMAP
        };

        var googleMap = new google.maps.Map(mapToYou、myOptions);
        varmarker = new google.maps.Marker({
          位置:latlng、
          地図:googleMap、
          タイトル:「あなたはここにいます!」
        });
    }

    関数エラー(msg){
        var mapToYou = document.querySelector('#mapToYou');
        mapToYou.innerHTML = typeof msg =='文字列'?msg:"失敗しました";
        mapToYou.className='失敗';

        // console.log(arguments);
    }

于 2012-07-04T10:35:17.773 に答える
0

http://www.geoplugin.comでこの便利なリンクを見つけました。これは、非常に優れたロケーション フィルタリング API を提供し、ユーザーの位置を予測する上で非常に恐ろしい精度を備えています。

これがどのように使用されるかの例を次に示します: http://www.jquery4u.com/api-calls/geo-location-2-lines-javascript/#.T_QZrxdo3IU

于 2012-07-04T10:33:03.883 に答える
0

Google の位置情報 API を試しましたか?

そうでない場合は、リンクは次のとおりです: https://developers.google.com/maps/documentation/directions/

実際には、位置情報の精度を高めるために Google によって開発された進行中の API がたくさんあります。

于 2012-07-04T10:22:09.390 に答える