我刚接触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>
截图:
在上面的例子中,我通过地理编码获取了美国的视窗。不过,你也可以通过传递东北和西南点来创建一个LatLngBounds
对象,并使用fitBounds
方法缩放和平移地图,使其适合于地图画布。
嗯,由于美国的大小和形状并不经常改变,因此您可以手动找到最佳设置并使用它们。