Google Maps API - 加载美国

hjk*_*hjk 12 javascript google-maps

我是google maps api的新手.我想获得有关实现以下功能的建议:每当页面加载时,地图将以美国为中心加载.想象一下美国周围的一个方框,给出了指定最小和最大边界的纬度/长度.我需要以适当的缩放加载地图(并且需要禁用缩放),以便此框组成整个地图.

基本上,我想知道是否有一个函数根据纬度/长度边界(或某种方式来实现)来加载地图,而不是在给定缩放级别的情况下加载地图.

Dan*_*llo 14

假设您使用的是v3 API,您可能希望使用以下fitBounds方法:

<!DOCTYPE html>
<html> 
<head> 
   <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
   <title>Google Maps fitBounds</title> 
   <script src="http://maps.google.com/maps/api/js?sensor=false" 
           type="text/javascript"></script> 
</head> 
<body> 
   <div id="map" style="width: 500px; height: 350px;"></div> 

   <script type="text/javascript"> 
      var myOptions = { mapTypeId: google.maps.MapTypeId.ROADMAP };
      var map = new google.maps.Map(document.getElementById("map"), myOptions);
      var geocoder = new google.maps.Geocoder();

      geocoder.geocode({'address': 'US'}, function (results, status) {
         var ne = results[0].geometry.viewport.getNorthEast();
         var sw = results[0].geometry.viewport.getSouthWest();

         map.fitBounds(results[0].geometry.viewport);               
      }); 
   </script> 
</body> 
</html>
Run Code Online (Sandbox Code Playgroud)

截图:

Google Maps fitBounds

在上面的例子中,我通过地理编码获取了美国的视口.但是,您也可以LatLngBounds通过传递东北和西南点来自己创建一个对象,该fitBounds方法将缩放并平移您的地图,使其适合地图画布.

  • 然后你也可以硬编码地理编码器设置的值,以避免设置位置的延迟以及额外的请求:zoom:5,center:new google.maps.LatLng(38.55547456,-95.664999), (2认同)