我是Google Maps API的新手。我希望获得关于实现以下功能的建议:每当页面加载时,地图将以美国为中心加载。想象一下美国的一个盒子,它有给定的经纬度来指定最小和最大边界。我需要以适当的缩放加载地图(并且需要禁用缩放),以便此框组成整个地图。Google Maps API - 加载美国
基本上,我想知道是否有一个函数,加载地图基于纬度/长边界(或某种方式来实现这一点),而不是加载给定缩放级别的地图。
我是Google Maps API的新手。我希望获得关于实现以下功能的建议:每当页面加载时,地图将以美国为中心加载。想象一下美国的一个盒子,它有给定的经纬度来指定最小和最大边界。我需要以适当的缩放加载地图(并且需要禁用缩放),以便此框组成整个地图。Google Maps API - 加载美国
基本上,我想知道是否有一个函数,加载地图基于纬度/长边界(或某种方式来实现这一点),而不是加载给定缩放级别的地图。
假设你正在使用的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>
截图:
在上面的例子中,我发现了通过地理编码美国的视口。不过,您也可以通过传递东北和西南点来自己创建一个对象,并且方法将缩放并平移地图,以使其适合地图画布。
谢谢! fitBounds()正是我正在寻找的 – hjk 2010-05-29 23:48:22
@hjk:我回答了[几个月前的类似问题](http://stackoverflow.com/questions/2494756/fitbounds-in-google-maps-api-v3-不 - 不适合界/ 2496558#2496558)。它显示一个红色边界框'fitBounds'如何反应。红色边界框表示您将传递给'fitBounds'的'LatLngBounds'。 – 2010-05-29 23:51:54
谢谢Daniel,这很有帮助。所以Google地图无法调整缩放的粒度?即他们的缩放级别是固定的? – hjk 2010-05-29 23:57:27