Переместить камеру в текущее положение на ионных картах

Я работаю над картами Google в ионном режиме, используя плагин Google Maps и плагин геолокации. И получение моего текущего местоположения с помощью функции наблюдения за местоположением геолокации, которая обновляет широту спустя долгое время после изменения местоположения. Все в порядке, но проблема, с которой я столкнулся, заключается в том, что я хочу переместить положение камеры в мое текущее местоположение, которое изменяется путем изменения положения. когда я устанавливаю фиксированную широту в функции movCamera, она перемещает камеру в сторону этих широт, но когда я устанавливаю ее на свое текущее местоположение, она перемещает карту в какое-то другое место, но не в мое.

может ли кто-нибудь сказать мне, в чем проблема ??

Вот код. . .

    export class HomePage {
 x: number = 0;
  y: number = 0;
  constructor(public navCtrl: NavController,private googleMaps: GoogleMaps, public platform:Platform,private geolocation: Geolocation) {
            platform.ready().then(() => {
                    this.loadMap();
              });
  }

loadMap() {

 // create a new map by passing HTMLElement
 let element: HTMLElement = document.getElementById('map');

this.geolocation.watchPosition().subscribe((position) => {
  this.x = position.coords.longitude;
  this.y = position.coords.latitude;
  let ionic: LatLng = new LatLng(this.x,this.y);
 let map: GoogleMap = this.googleMaps.create(element,{
          'backgroundColor': 'white',
          'controls': {
            'compass': true,
            'myLocationButton': true,
            'indoorPicker': true,
            'zoom': true
          },
          'gestures': {
            'scroll': true,
            'tilt': true,
            'rotate': true,
            'zoom': true
          }
        });
 // listen to MAP_READY event
 // You must wait for this event to fire before adding something to the map or modifying it in anyway
 map.one(GoogleMapsEvent.MAP_READY).then(() => {
console.log('====>>>>>Map is ready!');

 });

 let ionic1: LatLng = new LatLng(33.635322,73.073989);

 // create CameraPosition
 let Camposition: CameraPosition = {
   target: ionic,
   zoom: 22,
   tilt: 30
 };

 // move the map's camera to position
 map.moveCamera(Camposition);


}, (err) => {
  console.log(err);
});
}

}

person zaheer ahmed    schedule 10.05.2017    source источник


Ответы (1)


let ionic1: LatLng = new LatLng(33.635322,73.073989);

Здесь вы назначаете координаты своего местоположения переменной ionic1. Но в параметрах Camposition вы указали для цели переменную с именем ionic.

// create CameraPosition
let Camposition: CameraPosition = {
    target: ionic,
    zoom: 22,
    tilt: 30
 };

Его следует исправить как ionic1.

// create CameraPosition
let Camposition: CameraPosition = {
    target: ionic1,
    zoom: 22,
    tilt: 30
 };

Также не используйте такие имена переменных. Используйте правильное соглашение об именах, чтобы избежать ошибок такого рода. Выберите следующее.

let defaultLocation: LatLng = new LatLng(33.635322,73.073989);
person Tharindu Diluksha    schedule 22.09.2017