2017-06-14 116 views
0

我已經安裝角谷歌地圖與角4如何設置谷歌地圖Angular2 - 谷歌 - 地圖到2d

模板很簡單:

<agm-map [latitude]="58.150587" [longitude]="7.978571" [zoom]="19" [mapTypeId]="'satellite'"></agm-map>

我得到的是一個很好的3d版本:0​​

我希望它是衛星視圖。但我不想要3d效果。我想它是平的,2d,Like this

任何人都可以幫助我嗎?

回答

1

我在我的應用程序中使用了該模塊,並且顯示的地圖位於2D中。與您的代碼,唯一的區別是[的mapTypeId]我沒有:

<div class="map"> 
    <agm-map [latitude]="lat" [longitude]="lng" [zoom]="17"> 
     <agm-marker [latitude]="lat" [longitude]="lng"></agm-marker> 
    </agm-map> 
</div> 

有4個值可能[的mapTypeId]屬性:

的路線圖,這是你想要的(和一個默認如果不設置屬性)

衛星,這是一個谷歌地球表示

混合動力車+地形但是我沒有用過這些。


爲了具有2D表示,刪除該屬性或改變其值爲[的mapTypeId] =「‘路線圖’」

編輯:離開前面的回答,因爲它可能幫助其他人,但是您確切的問題的解決方案是波紋管:

您需要在您的AGM-地圖標記添加一個mapReady事件

<agm-map [latitude]="lat" [longitude]="lng" [zoom]="17" [mapTypeId]="'hybrid'" (mapReady)="changeTilt($event)"> 

釷當谷歌地圖完全初始化時,會觸發事件。它會返回你的google.maps.Map實例。您需要創建一個私有屬性才能存儲它。

private _map: any; 

然後你就可以改變的屬性,使用方法,你想:

changeTilt(map) { 
    this._map = map; 
    this._map.setTilt(0); 
} 

我想給一個巨大的感謝cholexa您作爲該解決方案一個真正巨大的幫助(上angular2 -google-map gitter chat)

+0

謝謝,但我不想要路線圖。我希望它是衛星,但在2d。喜歡這個。 https://i.stack.imgur.com/Gkr3J.png – Skvupp

+0

我不好理解你在做什麼。我找到了[此文檔](https://developers.google.com/maps/documentation/javascript/maptypes?hl=zh-CN#45DegreeImagery),指出您想要的是setTilt方法。 我想知道如何使用它與模塊,但沒有結果。不知道它是否僅僅不被支持,或者是否有特殊的合成使用(例如mapTypeControlOptions屬性,你可以看到所有屬性列表[here](https://angular-maps.com/api-docs/agm) -core/components/AgmMap.html)) – nvkfr

+0

還沒有任何答案,..我看到你張貼在angular2-google-maps聊天上,我們將看到 你現在可以做的最好的事情是用[maxZoom]限制縮放級別(因爲只有在達到某個縮放時纔會出現傾斜效果)直到找到更好的答案。 – nvkfr