我的右下角有一些带有控件的谷歌地图(其他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文档进行了挖掘,虽然看起来有一种控制自定义控件顺序的方法,但我还没有找到重新安排本机控件的方法。可以这样做吗?如果它不可能像我上一个例子那样做,那么至少有一种更好的方法来安排控件,这样它们就不会像拇指一样伸出来吗?
答案 0 :(得分:0)
根据the ControlPosition docs Controls 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)
,你会得到什么?