如何使用 Angular2-Google-Maps 将 Google 地图设置为 2d

How to set Google map to 2d with Angular2-Google-Maps

我已经安装了 Angular Google 地图 Angular 4.

模板很简单:

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

我得到的是一个不错的 3D 版本,像这样:

我希望它是卫星视图。但我不想要 3D 效果。我希望它是平面的,二维的,像这样:

我在我的一个应用程序中使用了这个模块,显示的地图是二维的。与您的代码的唯一区别是我没有的 [mapTypeId] :

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

[maptypeId] 属性有 4 个可能的值:

路线图,这是你想要的(如果没有提供该属性,则默认为一个)

卫星,是 google 地球代表

混合+地形,但我从未使用过这些。


为了获得二维表示,删除该属性或将其值更改为 [mapTypeId]="'roadmap'"

编辑:留下之前的答案,因为它可能对其他人有帮助,但您的确切问题的解决方案如下:

您需要在 agm-map 标签上添加 mapReady 事件

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

当 google 地图完全初始化时会触发此事件。结果它将 return 您的 google.maps.Map 实例。您需要创建一个私有 属性 来存储它。

private _map: any;

然后你可以更改属性并使用你想要的方法:

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

我非常感谢 cholexa 在这个解决方案上提供了巨大的帮助(在 angular2-google-map gitter 聊天中)