在最近更新的谷歌地图上,左下方现在有一个卫星/地图切换器,允许用户在两者之间切换。但它也显示了地图的样子预览。
当我使用Google Maps API时,如何启用此功能?
答案 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
}
});
但您无法将其设置为显示小预览。如果您根据docs将MapTypeControlStyle
设置为DEFAULT
,您在地图上看到的内容取决于地图大小和其他因素,因此在某些平台上的某些地图上您可能会看到一些预览,但不保证:
当显示DEFAULT控件时,它将根据窗口而变化 尺寸和其他因素。 DEFAULT控件将来可能会更改 API的版本。
其他两个选项DROPDOWN
和HORIZONTAL_BAR
可能不是您要找的。
然而,如果你真的想要显示小预览,只需禁用默认控件(mapTypeControl: false
)并创建自己的地图类型控件。有关如何创建自己的控件的示例是here。您将使用js / css / html创建自己的预览按钮,当用户单击它时,您将只设置新的地图样式:map.setMapTypeId(mapTypeId:MapTypeId)
。由于按钮是您自己创建的,您可以完全控制它,您可以控制预览图标,添加悬停效果,任何东西..