地图类型
本文档讨论的是您可以使用 Google Maps JavaScript API 显示的地图类型。此 API 使用 MapType
对象保留这些地图的相关信息。MapType
是一个接口,用于定义地图图块的显示形式和使用方法,以及坐标系从屏幕坐标转换到世界坐标(地图上)的方式。每个 MapType
都必须包含多个用于处理图块的检索和释放的方法,以及定义图块视觉行为的属性。
地图类型在 Maps API 中的内部工作方式属于高级主题。大多数开发者可以仅使用下面所述的基本地图类型。但是,您也可以使用自定义地图类型定义自己的地图图块,或使用样式化地图修改现有地图类型的呈现形式。提供自定义地图类型时,您需要了解如何修改地图的地图类型注册表。
基本地图类型
Google Maps API 中提供四种地图类型。除了您熟悉的“绘制”道路地图图块外,Google Maps API 还可支持其他地图类型。
Google Maps API 中提供了下列地图类型:
MapTypeId.ROADMAP
用于显示默认的道路地图视图。这是默认地图类型。MapTypeId.SATELLITE
用于显示 Google Earth 卫星图像。MapTypeId.HYBRID
用于同时显示正常视图和卫星视图MapTypeId.TERRAIN
基于地面信息显示物理地图。
您可以通过 Map
修改正在使用的地图类型,方法是设置其 mapTypeId
属性,可通过在构造函数内设置其 Map options
对象,或调用地图的 setMapTypeId()
方法来实现。mapTypeID
属性默认使用MapTypeId.ROADMAP
。
构建时设置 mapTypeId
。
var myLatlng = new google.maps.LatLng(-34.397, 150.644);
var mapOptions = {
zoom: 8,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.SATELLITE
};
var map = new google.maps.Map(document.getElementById("map"),
mapOptions);
动态地修改 mapTypeId
:
map.setMapTypeId(google.maps.MapTypeId.TERRAIN);
请注意,您实际上并没有直接设置地图的地图类型,而是将其 mapTypeId
设置为引用使用标识符的MapType
。Maps Javascript API V3 使用了地图类型注册表(详见下文)来管理这些引用。