0
function onPositionUpdate(position) {
    var lat = position.coords.latitude;
    var lng = position.coords.longitude;

    var markerPoint = new google.maps.LatLng(lat, lng);

    var marker = new google.maps.Marker({
        position: markerPoint,
        map: map,
        title: 'Your Location'
    });
}

function button_clicked() {
    if (navigator.geolocation)
        navigator.geolocation.getCurrentPosition(onPositionUpdate);
    else
        alert("navigator.geolocation is not available");
}

このコードは正しく実行されており、ユーザーの場所を示しています。自宅でこれを試すと正しい住所が表示されますが、別の場所でこれを試すと、このコードは正しい住所を表示しません。なぜ?このコードが正確にどのように実行されるかわかりません (このコードは IP またはその他の情報を定義しますか)

4

2 に答える 2

2

別のプログラムがあなたを見つけられるかどうかを確認できます。そうでない場合は、コードが間違っている可能性があります。

http://html5demos.com/geo

セキュリティ対策によっては、クライアントが位置情報を自動的に共有しない場合があります。

于 2012-04-18T18:00:48.370 に答える
0

やってみました :

navigator.geolocation.getCurrentPosition(onPositionUpdate() );

コールバックに括弧が必要かどうかはわかりません。それは私が試してみたいものです。

また、地理位置情報が近似をより小さな半径に絞り込むのに少し時間がかかることにも気付きました. position updateを呼び出す必要があるかもしれません。

于 2012-06-24T23:08:17.640 に答える