在 Google 地图上重新排序控件
Posted
技术标签:
【中文标题】在 Google 地图上重新排序控件【英文标题】:Re-order controls on Google Map 【发布时间】:2015-01-08 04:59:11 【问题描述】:我有一个谷歌地图,右下角有一些控件(其他 3 个角已经被占用,所以这些都需要在同一个角)。我是这样设置的:
mapTypeControlOptions:
mapTypeIds: [google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.SATELLITE],
position: google.maps.ControlPosition.RIGHT_BOTTOM
,
zoomControlOptions:
style: google.maps.ZoomControlStyle.SMALL,
position: google.maps.ControlPosition.RIGHT_BOTTOM
,
streetViewControlOptions:
position: google.maps.ControlPosition.RIGHT_BOTTOM
这会产生以下结果:
...看起来很傻,所以我尝试将 mapTypeControl 切换到 BOTTOM_RIGHT
位置:
理想情况下,这就是我想要的(与第一个相同,但 mapTypeControl 在底部):
我浏览了 API 文档,虽然看起来有一种方法可以控制自定义控件的顺序,但我看不到重新排列原生控件的方法。这可以做到吗?如果不能像我的上一个示例那样做到这一点,是否至少有一种更好的方法来安排控件,使它们都不会像大拇指一样突出?
【问题讨论】:
【参考方案1】:根据the ControlPosition docsControls that are added first are positioned closer to the edge of the map.
对于右下位置Elements are positioned on the right, above bottom-right elements, and flow upwards.
。
但是,这似乎与您的情况相矛盾。由于您只是将所有控件作为 MapOptions 规范的一部分应用,我想知道它们是否只是意味着这在添加自定义控件时适用,正如开发人员指南的另一部分提到的那样(正如您已经说过的)。
也许您可以创建自己的自定义控件,这些控件实际上只是 StreetView / MapType / Zoom 控件的扩展?但是,它们看起来不像您可以仅实例化任何这些控件的实例...如果您执行 console.log(map.controls)
,您会得到什么?
【讨论】:
以上是关于在 Google 地图上重新排序控件的主要内容,如果未能解决你的问题,请参考以下文章