2010-02-08 103 views

回答

-2
<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
    <title>Google Maps JavaScript API Example</title> 
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=abcdefg&sensor=true_or_false" 
      type="text/javascript"></script> 
    <script type="text/javascript"> 

    function initialize() { 
     if (GBrowserIsCompatible()) { 
     var map = new GMap2(document.getElementById("map_canvas")); 
     map.setCenter(new GLatLng(37.4419, -122.1419), 13); 
     map.setUIToDefault(); 
     } 
    } 

    </script> 
    </head> 
    <body onload="initialize()" onunload="GUnload()"> 
    <div id="map_canvas" style="width: 500px; height: 300px"></div> 
    </body> 
</html> 

的map.setCenter()函数可用于设置缩放级别,即map.setCenter(坐标的GLatLng,缩放级别)

+0

这不是用户问。他需要一种*自动*的方式来做到这一点。 – 2010-03-11 15:27:18

0

你可以要求一定geoposition尽可能高的变焦: https://developers.google.com/maps/documentation/javascript/maxzoom

我已经集成创建地图后调用。所以,虽然地图加载同时也请求了最大缩放级别,并将其重置地图缩放级别,只有当它比地图的缩放级别较低:

this.map = this.createMap(this.el, this.initPosition); 
var maxZoomService = new google.maps.MaxZoomService(); 
maxZoomService.getMaxZoomAtLatLng(this.initPosition, _.bind(function(response) { 
    if (response.status != google.maps.MaxZoomStatus.OK) { 
     return; 
    } else { 
     console.log("GoogleMapView maxzoomlevel is " + response.zoom); 
     if (response.zoom < this.map.getZoom()) { 
      this.map.setZoom(response.zoom); 
     } 
    } 
}, this));