如何获取Google地图上的当前位置?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (22)

这是我第一次使用这个GMAPI,还有很多事情我不明白。

这是我的代码,我想

var geocoder = new google.maps.Geocoder();

function initialize() {
  var latLng = new google.maps.LatLng(-7.7801502, 110.3846387);
  var map = new google.maps.Map(document.getElementById('mapCanvas'), {
    zoom: 15,
    center: latLng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  });

  var marker = new google.maps.Marker({
    position: latLng,
    title: 'Ambarrukmo Plaza Yogyakarta',
    map: map,
    draggable: true
  });
}

问题是,我希望根据用户当前的位置自动更改-7.7801502和110.3846387值。我能这么做吗?

谢谢你的帮助和解释。

另一个问题是:->如果我要根据嵌入GPS的设备来改变这些值呢?

提问于
用户回答回答于

你无法通过Google地图获取当前用户的位置信息。但是,如果你使用Google Loader获取Google地图,则可以使用google.loader.CurrentLocation获取基于IP的位置。

另一种方法是使用HTML5 GeoLocation API

function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
  } else {
    alert("Geolocation is not supported by this browser.");
  }
}
function showPosition(position) {
  var lat = position.coords.latitude;
  var lng = position.coords.longitude;
  map.setCenter(new google.maps.LatLng(lat, lng));
}

扫码关注云+社区