如何在用户位置上创建地图中心

时间:2012-06-16 20:26:58

标签: javascript google-maps google-maps-api-3 geolocation

如何在客户端的当前位置创建地图中心,但如果无法确定当前位置,则默认为下面的LatLng。

var myOptions = {
  center: new google.maps.LatLng(12.659493, 79.415412),
  zoom: 12,
  scrollwheel: false,
  mapTypeId: google.maps.MapTypeId.ROADMAP
}

1 个答案:

答案 0 :(得分:4)

您可以使用HTML 5 Geolocation功能来实现此目的。它很接近,但不是非常精确。

Demo

  var map;

  function initialize() {
    if(navigator.geolocation) {
      success = function(position) {
        createMap(position.coords.latitude, position.coords.longitude);
      };
      error = function() { createMap(12.659493, 79.415412); }

      navigator.geolocation.getCurrentPosition(success, error);
    }
    else {
      createMap(12.659493, 79.415412);
    }
  }

  function createMap(lat, lng) {
    var mapOptions = { center: new google.maps.LatLng(lat, lng), 
      zoom: 12,
      scrollwheel: false,
      mapTypeId: google.maps.MapTypeId.ROADMAP };
    map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
  }