1. Google 地图- 基本地图类型
Google Maps API 中提供了以下地图类型:
MapTypeId.ROADMAP
,用于显示默认的道路地图视图MapTypeId.SATELLITE
,用于显示 Google 地球卫星图片MapTypeId.HYBRID
,用于同时显示普通视图和卫星视图MapTypeId.TERRAIN
,用于根据地形信息显示实际地图。
要通过 Map 修改正在使用的地图类型,可以为其设置 mapTypeId 属性,如下所示:
var mapProp = { center:new google.maps.LatLng(51.508742,-0.120850), zoom:7, mapTypeId: google.maps.MapTypeId.HYBRID };
或者动态修改 mapTypeId:
map.setMapTypeId(google.maps.MapTypeId.HYBRID);
2. Google 地图- 45° 图像:
Google Maps API 针对特定位置支持特殊的 45° 图像。
此类高分辨率图像可提供朝向各基本方向(东南西北)的透视视图。对于支持的地图类型,这些图片还可提供更高的缩放级别。
现 有的 google.maps.MapTypeId.SATELLITE 和 google.maps.MapTypeId.HYBRID 地图类型支持高缩放级别的 45° 透视图像(如果有的话)。如果您放大的位置拥有此类图像,那么这些地图类型将会自动通过以下方式更改其视图:
- 地图上现有的任何平移控件都将会变更为在现有的导航控件周围添加一个罗盘转轮。您可以通过该罗盘来更改任意 45° 图像的方向,方法是:拖动该罗盘转轮,然后将方向对准包含图像的最近支持方向。
- 一个旋转控件将会间隙显示在现有的平移和缩放控件之间,它可用于将图像围绕支持方向旋转。旋转控件仅支持顺时针方向旋转。
- 以当前位置为中心的 45° 透视图像将会替代卫星图像或混合图像。默认情况下,此类视图会朝向北方。如果您缩小地图,则地图会重新显示默认的卫星图像或混合图像。
- MapType 控件将启用子菜单切换控件,用于显示 45° 图像。
注意:缩小显示 45° 图像的地图类型将会还原所有更改,并重新构建原始地图类型。
以下示例显示了意大利威尼斯公爵宫45°视图:
var mapProp = { center:myCenter, zoom:18, mapTypeId:google.maps.MapTypeId.HYBRID };
例子如下:
<html> <head> <script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false"> </script> <script> var myCenter=new google.maps.LatLng(45.434046,12.340284); function initialize() { var mapProp = { center:myCenter, zoom:18, mapTypeId:google.maps.MapTypeId.HYBRID };
var map=new google.maps.Map(document.getElementById("googleMap"),mapProp); } google.maps.event.addDomListener(window, 'load', initialize); </script> </head> <body> <div id="googleMap" style="500px;height:380px;"></div> </body> </html>
提示:Google 正在不断地为更多城市添加 45° 图像。有关最新信息,请参阅 Google 地图上的 45° 图像列表。
3. Google 地图 - 启用和停用 45° 图像 - setTilt(0)
可以通过在 Map 对象上调用 setTilt(0) 来停用 45° 图像。要启用适用于支持的地图类型的 45° 透视图像,请调用 setTilt(45)。
map.setTilt(0);
例子如下:
<html> <head> <script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false"> </script> <script> var myCenter=new google.maps.LatLng(45.434046,12.340284); function initialize() { var mapProp = { center:myCenter, zoom:18, mapTypeId:google.maps.MapTypeId.HYBRID }; var map=new google.maps.Map(document.getElementById("googleMap"),mapProp); map.setTilt(0); } google.maps.event.addDomListener(window, 'load', initialize); </script> </head> <body> <div id="googleMap" style="500px;height:380px;"></div> </body> </html>