簡體   English   中英

谷歌地圖api v3,定義用戶當前位置

[英]Google maps api v3, defining user current location

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還是其他信息定義的)

您可以檢查其他程序是否可以找到您。 如果沒有,可能是你的代碼不正確:

http://html5demos.com/geo

某些安全措施可能會導致客戶端無法自動共享位置信息。

你有沒有嘗試過 :

navigator.geolocation.getCurrentPosition(onPositionUpdate() );

不確定你的回調是否必須有括號。 這是我會嘗試的東西。

我還注意到,地理定位需要一點時間才能將近似值縮小到更小的半徑。 可能需要調用位置更新

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM