首先,我得到了原生的谷歌地图元素,因为据我所知,Angular 2 API 没有公开它。这看起来像下面的代码并且工作正常:
import { GoogleMapsAPIWrapper } from 'angular2-google-maps/core';
constructor(public mapApiWrapper: GoogleMapsAPIWrapper ) {}
this.mapApiWrapper.getNativeMap().then((map)=> {}
所有这一切都很好,我可以在本机地图元素上设置选项,例如,下面的代码有效:
let position: any = new google.maps.LatLng(45.521, -122.677);
map.setOptions({
zoom: 1,
center: position
});
但是,当我尝试设置MapOptions并通过ZoomControlOptions移动缩放控件时,我得到了一堆错误。我尝试的是这样的:
let zoomControlOptions: any = new google.maps.zoomControlOptions({
style: google.maps.ControlPosition.small,
position: google.maps.ControlPosition.LEFT_CENTER
});
这抛出:
TypeError:google.maps.zoomControlOptions 不是构造函数
如果我尝试这样做:
map.setOptions({
zoom: 1,
center: position,
zoomControlOptions: {
style: google.maps.ControlPosition.small,
position: google.maps.ControlPosition.LEFT_CENTER
}
});
它抛出:
'{ zoom: number; 类型的参数 中心:任何;缩放控制选项:{ 风格:任何;职位:任何;}; }' 不可分配给“MapOptions”类型的参数。对象字面量只能指定已知属性,并且“MapOptions”类型中不存在“zoomControlOptions”
在这一点上我很迷茫,因为我看到在文档中MapOptions
需要一个zoomControlOptions
arg ......