Google Map不以用户位置为中心

时间:2013-03-16 17:56:16

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

我的网站上有一张Google地图,用于获取用户位置,然后显示包含用户位置的地图以及指向地图上固定点的路线。当地图加载它只填充div的一个小角落时,我使用以下代码解决了这个问题:

google.maps.event.trigger(map, 'resize');

但是我现在遇到的问题是地图没有缩放到指定的级别,并且它没有按照代码中的指定再次以用户位置为中心。

地理位置代码:

if (navigator.geolocation) { 
  navigator.geolocation.getCurrentPosition(geoInfo, noGeoInfo);
} else {
  noGeoInfo();
}

function geoInfo(position) { 
  navigator.geolocation.getCurrentPosition(function (position) { 
    var latitude = position.coords.latitude;                    
    var longitude = position.coords.longitude;                 
    var coords = new google.maps.LatLng(latitude, longitude); 
    var directionsService = new google.maps.DirectionsService();
    var directionsDisplay = new google.maps.DirectionsRenderer();
    var mapOptions = { 
      zoom: 15,        
      center: coords,
      mapTypeControl: true, 
      navigationControlOptions:
      {
        style: google.maps.NavigationControlStyle.SMALL 
      },
      mapTypeId: google.maps.MapTypeId.ROADMAP 
    };
    map = new google.maps.Map(  document.getElementById("mapContainer"), mapOptions); 
    directionsDisplay.setMap(map); 
    var request = {
      origin: coords, 
      destination: '54.861283, -6.326805', 
      travelMode: google.maps.DirectionsTravelMode.DRIVING 
    };
    directionsService.route(request, function (response, status) {
      if (status == google.maps.DirectionsStatus.OK) {
        directionsDisplay.setDirections(response);
      }
    });
  });
}

function noGeoInfo() { 
  var location = new google.maps.LatLng(54.861283, -6.326805); 
  var mapOptions = { 
    center: location, 
    zoom: 15, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
  };
  var map = new google.maps.Map(document.getElementById("mapContainer"), mapOptions);
  marker = new google.maps.Marker({ 
    position: location,
    map: map
  });
}

为什么它不以指定位置或缩放级别为中心?

0 个答案:

没有答案