我可以创建一个自定义的Google Maps控件来强制地图全屏显示吗?

时间:2018-08-14 12:18:33

标签: javascript google-maps-api-3

对于Google Maps,我使用的是JS API(v3.33)。我知道内置的默认“全屏”控件,该控件工作正常。但是,有没有一种方法可以让自定义控件按钮也以与Google Maps按钮相同的方式强制使地图全屏显示?

我知道"FullScreen API" in JavaScript,但是我不确定这是否真的就是Google Maps所做的全部,还是他们也正在采取其他措施?如果像API上的setZoom(..)和其他方法一样,只有setFullscreen(true)setFullscreen(false),但我看不到那里,那真是太好了。

我不想用CSS或其他任何东西来伪造全屏,我只是想要一种触发google-maps进入全屏状态的方法,就像普通控件一样。

我知道它们只能在响应用户事件(点击等)时运行。

1 个答案:

答案 0 :(得分:0)

我最终选择了Google的代码,以查看其全屏按钮的作用。他们似乎只调用requestFullScreen() JS API(和exitFullScreen())。所以我做了一个自己的按钮来做到这一点,它似乎工作正常。我还使用了地图容器上的CSS :fullscreen选择器,以便我的按钮在全屏和常规模式之间切换其图标。最后,我首先检测设备上是否支持这些API,如果有,则仅显示按钮。例如,iOS不支持它。闷闷不乐。

其中最棘手的部分是不仅要检查所有这些JS和CSS功能,还要检查它们的供应商前缀版本,这些版本之间使用大写字母或连字符的奇异变体。