我可以在谷歌地图中设置自动缩放级别吗?

时间:2010-02-08 06:43:52

标签: google-maps

是可能的,假如我搜索谷歌地图中的任何随机城市并且谷歌地图自动设置缩放级别?我的意思是如何自动设置谷歌地图的缩放级别?

我正在使用谷歌地图API。

请帮帮我。

3 个答案:

答案 0 :(得分:2)

请参阅:How to get Google Maps API to set the correct zoom level for a country?

总之,您通过查询字符串(“,”)将Geocoder对象用于getLocations。然后使用返回的PlaceMarker对象定义LatLngBounds对象。使用LatLngBounds对象作为getBoundsZoomLevel的参数来设置缩放级别。

答案 1 :(得分:0)

您可以为特定地理位置要求最高放大率: 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));

答案 2 :(得分:-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坐标,缩放级别)