谷歌地图功能(setCenter,animateCamera)不适用于Ionic 2插件

时间:2016-08-27 19:18:01

标签: cordova google-maps cordova-plugins native ionic2

我正在开发一个移动项目,使用带有Typescript的Ionic 2和作为Ionic Native库的一部分的Cordova Google Map插件。代码编译没有错误并在我的设备(HTC)上运行,地图显示正确的控件,但问题是当我调用setCenter或地图的animateCamera函数没有任何反应时,相机在地图上的位置确实没有变化。

我还设置了Chrome远程调试,并且没有错误记录到控制台选项卡。

这是组件的.ts文件,有人可以告诉我我做错了什么。

import {Component} from '@angular/core';
import {Page, NavController, Platform} from 'ionic-angular';
import {GoogleMap, GoogleMapsEvent, GoogleMapsLatLng, Geolocation } from 'ionic-native';

@Page({
  templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
  map: GoogleMap;
  lat: number;
  long: number;

  constructor(public navCtrl: NavController, private platform: Platform) {
    platform.ready().then(() => {

     this.loadMap();
    });
  }


    loadMap(){
      let location = new GoogleMapsLatLng(-34.9290,138.6010);
      //-34.9290,138.6010

      this.map = new GoogleMap('map', {
        'backgroundColor': 'white',
        'controls': {
          'compass': true,
          'myLocationButton': true,
          'indoorPicker': true,
          'zoom': true
        },
        'gestures': {
          'scroll': true,
          'tilt': true,
          'rotate': true,
          'zoom': true
        },
        'camera': {
          'latLng': location,
          'tilt': 30,
          'zoom': 15,
          'bearing': 50
        }
      });

      this.map.on(GoogleMapsEvent.MAP_READY).subscribe(() => {
        console.log('Map is ready!');
        let coord = new GoogleMapsLatLng(this.lat, this.long);

        console.log(this.lat + ' ' + this.long);

        Geolocation.getCurrentPosition().then(pos => {
          console.log('lat: ' + pos.coords.latitude + ', lon: ' + pos.coords.longitude);
          this.lat = pos.coords.latitude;
          this.long = pos.coords.longitude;

          this.map.setCenter(coord);

          //this.map.animateCamera({
          //  'target': coord,
          //  'tilt': 60,
          //  'zoom': 18,
          //  'bearing': 140
          //});
        });
      });

    }
}

0 个答案:

没有答案