在谷歌地图上显示地图类型切换器

时间:2016-05-20 12:36:23

标签: google-maps google-maps-api-3

在最近更新的谷歌地图上,左下方现在有一个卫星/地图切换器,允许用户在两​​者之间切换。但它也显示了地图的样子预览。

当我使用Google Maps API时,如何启用此功能?

1 个答案:

答案 0 :(得分:3)

您无法在Google Maps JS API v3中启用小地图预览。您对MapTypeControl的控制有限。创建新地图时,您可以调整控件,禁用它们等等:

map = new google.maps.Map(document.getElementById('map-canvas'), {
      center: position,
      zoom: zoom,
      mapTypeControl:true,
      mapTypeControlOptions:{
          mapTypeIds:[google.maps.MapTypeId.HYBRID, google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.SATELLITE, google.maps.MapTypeId.TERRAIN],
          position: google.maps.ControlPosition.LEFT_TOP,
          style: google.maps.MapTypeControlStyle.DEFAULT
      } 
  });

但您无法将其设置为显示小预览。如果您根据docsMapTypeControlStyle设置为DEFAULT,您在地图上看到的内容取决于地图大小和其他因素,因此在某些平台上的某些地图上您可能会看到一些预览,但不保证:

  

当显示DEFAULT控件时,它将根据窗口而变化   尺寸和其他因素。 DEFAULT控件将来可能会更改   API的版本。

其他两个选项DROPDOWNHORIZONTAL_BAR可能不是您要找的。

然而,如果你真的想要显示小预览,只需禁用默认控件(mapTypeControl: false)并创建自己的地图类型控件。有关如何创建自己的控件的示例是here。您将使用js / css / html创建自己的预览按钮,当用户单击它时,您将只设置新的地图样式:map.setMapTypeId(mapTypeId:MapTypeId)。由于按钮是您自己创建的,您可以完全控制它,您可以控制预览图标,添加悬停效果,任何东西..