如何在Google Maps Javascript API 3.x中禁用45度选项

时间:2012-03-13 23:55:01

标签: google-maps-api-3

我想删除用户将地图从卫星视图放入45度倾斜模式的选项。我可以通过调用Map对象上的setTilt(0)来设置默认倾斜,但是当显示地图,并且用户单击地图右上角的Satellite选项时,它仍然显示45度选项。

如何消除45度选项,并且用户仍然可以在道路和卫星视图之间切换。

6 个答案:

答案 0 :(得分:14)

我发现解决此问题的最佳方法包括在地图选项中设置倾斜参数,以及使用css属性选择器隐藏弹出窗口。在其他解决方案中,用户仍然可以手动切换到45º视图。

地图选项

var mapOptions = {
    tilt:0,
    //all other map options
}

CSS隐藏弹出窗口(当鼠标悬停在'Satellite'控件上时)。

[title=Show\ 45\ degree\ view]
{
    display:none;
}

答案 1 :(得分:6)

var mapOptions = {
    center: mycenter,
    zoom: 7,
    tilt: 0,

此代码会永久禁用45度视图,但我无法将其删除。

编辑

答案 2 :(得分:2)

我通过手动重新实现“mapTypeControl”来完成此操作。然后你可以控制所包含的内容。

(我之所以这样做,是因为以前没有办法不包括Terrain选项 - 但现在已经修复了。它的基本问题相同)

可以使用此示例作为起点: http://gmaps-samples-v3.googlecode.com/svn/trunk/controls/index.html

答案 3 :(得分:1)

我看着google maps javascript documentation并发现了这一点:

  

rotateControl启用/禁用用于控制45°图像方向的Rotate控件的外观。

这还不是很清楚,但是使用下面的代码进行测试也可以隐藏倾斜控件。

代码:

let mapOptions = { 
    //other options here
    tilt: 0,
    rotateControl: false
}

答案 4 :(得分:0)

我发现你需要一个稍微不同的CSS来隐藏45度选择器:

[title=Show\ 45\ degree\ view], [title=Zoom\ in\ to\ show\ 45\ degree\ view], [title=Zoom\ in\ to\ show\ 45-degree\ view] {
  display:none !important;
}

更新,发现在移动设备上查看地图时使用的另一个标题。

答案 5 :(得分:0)

另一种方法是添加一个事件监听器以强制倾斜为0。此外,您还可以像其他人推荐的那样在地图选项中设置tilt: 0

它不会删除UI,但会阻止除开销之外的任何视图。它不依赖于语言,您不必更新CSS。

E.g:

google.maps.event.addListener(map, 'tilt_changed', function() {
    if (map.getTilt() != 0) {
        map.setTilt(0);
    }
});