запустить навигатор с FAB - PullRequest
       17

запустить навигатор с FAB

0 голосов
/ 26 февраля 2020

привет тем, кто видит это, я новичок в разработке машинописи, поэтому я изо всех сил стараюсь запустить навигатор (например, waze, gmap или другой ...) с FAB. это мой код в TS:

ngOnInit() {
        this.adresseService.getAdresse(lieu.adresse.id).subscribe(adresse => {
            lieu.adresse = adresse;
          });
      });
  this.lieux = lieux;
 });
}

ionViewDidEnter() {
this.lieuId = this.route.snapshot.params['id'];
if (this.lieuId)  {
  this.loadLieuWithMap();
}
console.log('ionViewDidEnter');
}

async loadLieu() {

this.lieuService.getLieu(this.lieuId).subscribe(res => {

  this.lieu = res;
  this.concertService.getUpcomingConcertsForLieuById(this.lieuId)
  .subscribe(interne_next_concert => this.lieu.prochaine_concerts = this.getConcertsReadyToExpose( interne_next_concert));
  this.concertService.getPreviousConcertsForLieuById(this.lieuId)
  .subscribe(interne_previous_concert => this.lieu.concerts_passes = this.getConcertsReadyToExpose( interne_previous_concert));

  this.adresseService.getAdresse(res.adresse.id).subscribe(resadd => {
    this.lieu.adresse = resadd;
    console.log(this.lieu);
  });
});
}

 async loadLieuWithMap() {

this.lieuService.getLieu(this.lieuId).subscribe(lieu => {
  // loading address
  this.adresseService.getAdresse(lieu.adresse.id).subscribe(adresse => {
    this.adresse = adresse;
    this.map = L.map('mapIdDetail').setView([adresse.latitude, adresse.longitude], 13)  ;
    L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
                attribution: '© <a href="http://www.openstreetmap.org/copyright',
              }).addTo(this.map);
              // get full address
    const adresseComp = adresse.numero + ' ' + adresse.rue + '<br>' + adresse.ville + ' ' + adresse.cp;
              // popup Content 
    const popupContent = '<h2>' + lieu.nom + '</a></h2></br>' + adresseComp + '</div>';
    L.marker([adresse.latitude, adresse.longitude]).addTo(this.map)
              .bindPopup(popupContent);
        });
  this.lieu = lieu;
  });
}

LaunchRoute() {
console.log('ADRESSE:', );
this.launchNavigator.navigate()
.then(
  success => console.log('Launched navigator'),
  error => console.log('Error launching navigator', error)
 );
}

и HTML части:

    <ion-fab vertical="bottom" horizontal="end" slot="fixed">
    <ion-fab-button color="primary" (click)="LaunchRoute()" >J'y vais</ion-fab-button>
    </ion-fab>

проблема в том, что я не могу отправить информацию (номер, улица, город ... et c), не помещая его в середину кнопки, как это:

    <ion-fab-button color="primary" (click)="LaunchRoute()" >{{Lieu.nom}}</ion-fab-button>

это не очень приятно, но, конечно, работает нормально, когда я делаю это. так что я думаю, что мой LaunchRoute не очень хорош, может быть, я что-то упустил, я не знаю.

извините за мой навык письма на английском sh (и за часть французского кода). [EDIT]

1 Ответ

0 голосов
/ 28 февраля 2020

Ну, я наконец-то разблокировался после просмотра нескольких других форумов и, наконец, нашел решение. в моем файле TS:

LaunchRoute(adresse) {
  console.log('ADRESSE:', adresse);
  this.launchNavigator.navigate(adresse)
  .then(
    success => console.log('Launched navigator'),
    error => console.log('Error launching navigator', adresse, error)
  );
}

и в файле html:

    <ion-fab vertical="bottom" horizontal="end">
    <ion-fab-button vertical="bottom" horizontal="end" color="primary" (click)="LaunchRoute([ lieu.nom, adresse.numero, adresse.rue, adresse.ville])" ><img src="../../assets/img/navto.png" /></ion-fab-button>
    </ion-fab>
...