首先,我得到了原生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,围绕(herehere)的示例始终将zoomControlOptions设置为zoomControl:true

关于javascript - 无法在Angular 2的Google map 上设置zoomControlOptions,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42402721/

10-10 00:01