Google Maps JS API v3 - 添加地图类型

时间:2012-08-13 09:16:51

标签: javascript google-maps

如何将混合,卫星,地形和物理视图模式添加到使用Gmap Javascript API v3渲染的Google地图中?

我的代码如下:

var myLatlng = new google.maps.LatLng(47.283902, 11.526825);
var mapOptions = {
  zoom: 14,
  center: myLatlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP,
  mapTypeControlOptions: {
    mapTypes: [google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.HYBRID, google.maps.MapTypeId.SATELLITE, google.maps.MapTypeId.TERRAIN]
  }
};

directionsService = new google.maps.DirectionsService();
directionsDisplay = new google.maps.DirectionsRenderer();
map = new google.maps.Map(document.getElementById("gmap"), mapOptions);
directionsDisplay.setMap(map);

但这似乎不起作用!

2 个答案:

答案 0 :(得分:2)

我正在调查同样的问题,将一些旧的V2地图转换为V3,因为谷歌在5月19日杀了V2。在V2中这是一个选项,所以我被要求将其添加回来。

然而,在V3中,卫星和混合动力车是相同的。卫星视图的标签是开启的,这是唯一的区别。因此,在功能上,不需要两个用于卫星和混合视图的按钮。卫星按钮有一个下拉菜单,带有标签复选框选项以禁用这些标签。

你当然可以为它编写一个自定义按钮,但这完全是多余的。

答案 1 :(得分:0)

ROADMAPTERRAINSATELLITEHYBRID是基本地图类型,无需添加它们。如果要在它们之间进行选择,则必须使用映射选项mapTypeControl启用它(布尔值:映射类型控件的初始启用/禁用状态)。

例如,使用:

var mapOptions = {
    zoom: 14,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    mapTypeControl: true
};

您将在窗口的右上角获得地图控件。然后您可以选择您喜欢的地图类型。