2016-12-03 50 views
1

我已經嘗試過這裏的示例,但無法獲取html5地理位置座標。 如果我硬編碼的座標,它工作正常。無法獲取html5地理位置座標來工作

var infowindow; 
    var map; 

function initialize() { 

    var latlng = new google.maps.LatLng(53.3452572,-6.2648937); 

    map = new google.maps.Map(document.getElementById("map-canvas"), { 
     center: latlng, 
     zoom: 10, 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 

    }); 

var request = { 
location: latlng, 

radius: 500000, 

types: ['pet_shop','pet_store'] 
}; 

但是,如果我嘗試使用以下我得到一個錯誤ReferenceError:位置未定義。我在這裏錯過什麼或做錯了什麼?

lat = position.coords.latitude; 
    long = position.coords.longitude; 
    var latlong = new google.maps.LatLng(lat, long); 
+0

您正在使用地理定位API? – Dherya

+0

你在哪裏調用'getCurrentPosition'? – sabithpocker

回答

1

watchPosition or getCurrentPosition應該用於獲取回調中的位置。這裏是來自MDN的similar example頁面

function initialize() { 
     navigator.geolocation.getCurrentPosition(function(position) { 
     var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 
     map = new google.maps.Map(document.getElementById("map-canvas"), { 
      center: latlng, 
      zoom: 10, 
      mapTypeId: google.maps.MapTypeId.ROADMAP, 
      }); 
}); 
+0

謝謝sabithpocker,工作! – user2110655

+0

如果要在用戶更改位置時更新位置,請使用watchPosition。 – sabithpocker