在小屏幕(手机等)上隐藏谷歌地图控件
Hide Google Maps controls on small screens (mobiles, etc...)
如果屏幕小于一定的像素量,如何隐藏Map Type选项(Map,Satellite…)?这就是我的谷歌地图API V3代码的样子:
var mapOptions = {
center: new google.maps.LatLng(initLat, initLong),
zoom: level,
scaleControl: true,
mapTypeControl: true,
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
position: google.maps.ControlPosition.RIGHT_TOP
},
zoomControl: true,
zoomControlOptions: {
position: google.maps.ControlPosition.LEFT_TOP
},
mapTypeId: google.maps.MapTypeId.ROADMAP
}
正如您所看到的,mapTypeControl
现在被设置为true
,如果屏幕宽度小于340px;
,我需要将其设置为false。还有mapTypeControlOptions
,如果屏幕较小,它应该被隐藏。
您可以在创建mapOptions
变量后检查浏览器宽度,如果它小于340px,则可以像常规javascript对象一样修改它。
var width = window.innerWidth;
if(width < 340){
mapOptions.mapTypeControl = false;
delete mapOptions.mapTypeControlOptions;
}
这里的主要问题是采用正确的方式获取浏览器宽度。我会考虑使用$(window).width()
jQuery方法
编辑:我不建议再为此目的使用jQuery了
查看此答案以获取浏览器宽度。
在Google Maps Javascript API中,如果地图小于200x200px,则默认情况下所有控件都将消失。可以通过显式设置控件为可见来修改此行为,但目前似乎无法修改隐藏控件的默认大小。https://developers.google.com/maps/documentation/javascript/controls
作为一种选择,您可以使用屏幕宽度小于340px的静态谷歌地图,如果用户需要完整的地图交互或控制,它只需链接到谷歌地图:https://developers.google.com/maps/documentation/static-maps/
相关文章:
- 如何隐藏谷歌地图Api 3中InfoBox窗口中的关闭(x)按钮
- 谷歌地图加载后隐藏加载图像
- 在谷歌地图上隐藏标记
- 谷歌地图隐藏手图标
- 谷歌地图自动加载标记位置中的隐藏位置
- 谷歌地图隐藏并显示地图
- 谷歌地图隐藏潜水停止隐藏
- 谷歌地图API V3-元素不会隐藏点击事件切换
- 谷歌地图叠加层消息不会保持隐藏状态
- 切换隐藏/显示谷歌地图标记
- 谷歌地图API - 通过类别导航隐藏所有信息窗口
- 显示/隐藏谷歌地图
- 在 NgMap 中显示和隐藏绘制控件 - 谷歌地图
- 按钮点击隐藏谷歌地图标记
- 如何在谷歌地图中隐藏河流和湖泊
- 谷歌地图:隐藏标记组
- 在小屏幕(手机等)上隐藏谷歌地图控件
- 隐藏谷歌地图标记onClick事件的问题
- 隐藏谷歌地图标记
- 隐藏谷歌地图地形和标签选项