无法获得html5地理位置坐标

时间:2016-12-03 12:03:24

标签: javascript html5 geolocation

我在这里尝试了一些例子,但是无法让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:position未定义。我在这里错过了什么或做错了什么?

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

1 个答案:

答案 0 :(得分: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,
          });
});