【问题标题】:Re-order controls on Google Map在 Google 地图上重新排序控件
【发布时间】: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 文档,虽然看起来有一种方法可以控制自定义控件的顺序,但我看不到重新排列原生控件的方法。这可以做到吗?如果不能像我的上一个示例那样做到这一点,是否至少有一种更好的方法来安排控件,使它们都不会像大拇指一样突出?

【问题讨论】:

    标签: google-maps google-maps-api-3


    【解决方案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),您会得到什么?

    【讨论】:

      猜你喜欢
      • 2013-01-05
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多