使用Ionic

时间:2018-04-15 00:40:35

标签: google-maps ionic-framework geolocation ionic3

我正在努力将标记添加到我的google-map中,并使用来自watchPosition()方法的实时位置数据。当我使用getCurrentPosition()方法时,一切正常。但是用这种方法我无法解决这个问题。所以一般来说,我想创建具有用户实时位置的标记,并根据用户的移动方式在地图中更改该标记的位置。 谢谢你的回复!

这是我的代码:

  constructor(public navCtrl: NavController, public location: Geolocation) {}

  ionViewDidEnter() {
    this.loadMap();
  }

  loadMap() {
    this.location.getCurrentPosition().then(
      position => {
        let latLng = new google.maps.LatLng(
          position.coords.latitude,
          position.coords.longitude
        );

        let mapOptions = {
          center: latLng,
          zoom: 15
        };

        this.map = new google.maps.Map(
          this.mapElement.nativeElement,
          mapOptions
        );
        this.getPosition();
        console.log(this.map);
      },
      err => {
        console.log(err);
      }
    );
  }

  getPosition() {
    this.location.watchPosition().subscribe(
      (pos: Geoposition) => {
        this.currentPos = pos;
        console.log(pos);
        this.addMainMarker(pos);
      },
      err => {
        console.log(err);
      }
    );
  }

  addMainMarker(markerPos) {
    new google.maps.Marker({
      map: this.map,
      position: markerPos
    });
  }
}

0 个答案:

没有答案