首先,我得到了原生Google maps元素,因为据我所知,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
}
});
它抛出:
类型'{缩放:数字;中心:任何; zoomControlOptions:{
风格:任何职位:任何; }; }'不可分配给的参数
输入“ MapOptions”。对象文字只能指定已知属性,
并且类型'MapOptions'中不存在'zoomControlOptions'
我现在很迷失,因为我看到
MapOptions
在文档中使用了zoomControlOptions
arg ... 最佳答案
在直接操作本机地图时,您不在angular2-google-maps世界范围内。
编辑
先前对#1的回答是错误的,似乎没有什么比ZoomControlOptions构造函数更合适。创建对象杂物效果很好。
let zoomControlOptions: any = new {
style: google.maps.ControlPosition.small,
position: google.maps.ControlPosition.LEFT_CENTER
);
对于问题2,围绕(here和here)的示例始终将zoomControlOptions设置为zoomControl:true
关于javascript - 无法在Angular 2的Google map 上设置zoomControlOptions,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42402721/