我正在开发一个移动项目,使用带有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
//});
});
});
}
}