在Google地图上获取当前位置

Arv*_*rus 23 google-maps google-maps-api-3

当我想获得当前位置时,我遇到了一些麻烦.

这是我第一次使用这个GM API,还有很多我不理解的东西.

这是我的代码,我想要

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
  });
}
Run Code Online (Sandbox Code Playgroud)

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

在此之前,感谢您的帮助和解释.

另一个问题: - >如果我要根据嵌入GPS的设备更改这些值,该怎么办?

Ale*_*uin 33

您无法通过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));
}
Run Code Online (Sandbox Code Playgroud)


Net*_*bby 7

对于未来寻求解决方案的人来说,Google现在在Google地图页面上有一个地理位置示例> https://developers.google.com/maps/documentation/javascript/examples/map-geolocation