2012-03-13 64 views
6

我想要刪除用戶從衛星視圖中將地圖置於45度傾斜模式的選項。我可以通過調用Map對象上的setTilt(0)來設置默認傾斜度,但是當地圖顯示時,並且用戶單擊地圖右上角的衛星選項時,它仍會顯示45度選項。如何在Google Maps JavaScript API 3.x中禁用45度選項

如何消除45度選項,並且仍然允許用戶在道路和衛星視圖之間切換。

+1

我不認爲這是可能的。不僅在文檔中沒有提到它,API中也沒有任何東西可以輕鬆訪問。 – 2012-03-14 12:16:40

回答

2

我已經通過手動重新實現「mapTypeControl」來完成此操作。那麼你就可以控制包含的內容。

(我這樣做是因爲過去有沒有不includeing地形選項的方式 - 但現在已修正其相同的基本問題。)

可以用這個例子作爲一個起點: http://gmaps-samples-v3.googlecode.com/svn/trunk/controls/index.html

+0

好的,謝謝,我不認爲你可以用自定義的mapTypeControl指向我的代碼示例? – Fraggle 2012-03-14 17:04:33

+0

我們從我工作的項目中刪除了代碼 - 正如我所說的排除地形的問題已在原始中得到修復。如果真的去挖掘,我可能會找到代碼。但它基於Google的一個例子(因此得到了所有的CSS等) - 我已經用鏈接更新了回覆。 – barryhunter 2012-03-14 20:14:29

+2

@barryhunter鏈接不起作用 – Malachi 2016-07-15 13:50:54

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

此代碼永遠禁用45度視圖,但我無法刪除它。

編輯

+0

不起作用。菜單的Dropdown版本仍然包含45degree成像選項。 (只有在您選擇satalite時出現)。演示者:http://www.nearby.org.uk/google/nolabels-drop.php(放大說羅馬) – barryhunter 2012-03-15 12:41:57

+0

「查看源代碼」在您的瀏覽器中? (通常Ctrl-U工作) – barryhunter 2012-03-15 13:05:28

+0

沒有定義的方式來刪除45度視圖。它只出現45度圖像可用的地方。 (http://maps.google.com/maps/ms?ie=UTF8&t=h&oe=UTF8&msa=0&msid=112099477591857711257.00048ad05c320f746f5c2)嘗試在javascript中定義「setTilt」和「getTilt」。和「傾斜」也與縮放級別相關聯。 – zippo 2012-03-15 17:04:13

13

我發現解決這個既包括設置傾斜參數在地圖選項,並且還使用CSS屬性選擇隱藏彈出最好的雜牌。在其他解決方案中,用戶仍然可以手動切換到45º視圖。

地圖選項

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

CSS來隱藏彈出(鼠標懸停在 '衛星' 控制時)。

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

如果可能,您應該避免在選擇css中的元素時使用本地化文本。當客戶端使用德語查看您的頁面時,該解決方案會發生什麼? – 2015-06-16 22:24:43

+0

要隱藏Google Map中的傾斜按鈕,請使用以下任一選項: '.gm-tilt {display:none;}' '$(「.gm-tilt」)。hide();' – dsm 2016-03-12 11:27:52

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; 
} 

更新,但發現時映射在移動設備上查看使用的另一種稱謂。

+0

這個人很醜,但我投了贊成票,因爲這裏的所有解決方案看起來都非常難看,而且這個解決方案至少很少。 – 2013-12-17 20:19:19

0

另一種替代方法是添加事件偵聽器來強制傾斜爲0。除了在其他人推薦的地圖選項中設置tilt: 0之外。

它不會刪除UI,但會阻止除開銷以外的任何視圖。它與語言無關,您不必更新CSS。

如:

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

這些問題的答案都很好,但我更喜歡使用此選擇隱藏傾斜按鈕:

[class="gm-tilt"] 
{ 
    display:none; 
} 
+0

只需使用'.gm-tilt'。 – cst1992 2017-10-10 11:11:25

-1

當你拿到劇本,有一個變量,名爲myOptions這包含縮放。像:

var myOptions = {zoom:19,center:new google.maps.LatLng(....... 

在這裏,您可以包括可變傾斜:0,如:

var myOptions = {zoom:19,tilt:0,center:new google.maps.LatLng(.......