Угловые карты Google - ссылка Просмотр маршрутов требует времени, чтобы обновить источник и пункт назначения - PullRequest
0 голосов
/ 19 сентября 2018

enter image description here У меня есть код ниже, чтобы захватить пункт отправления и назначения по нажатию кнопки просмотра направлений.Проблема заключается в нажатии кнопки просмотра направлений, URL-адрес href загружается до того, как событие onclick завершит свое выполнение.Как загрузить URL-адрес href после выполнения функции, переданной событию click.В приведенном ниже коде я фиксирую широту и долготу отправления и назначения в методе getDirection, и как только значения доступны только, должен быть загружен внешний URL-адрес href.Но в моем случае, при первом щелчке, так как значения источника и назначения недоступны, URL-адрес имеет пустое значение, тогда как со второго щелчка и далее значения становятся доступными.

   <a (click)="getDirection(m.geometry.location.lat,m.geometry.location.lng)" href="https://www.google.com/maps/dir/?api=1&origin={{srcOriginLat}},{{srcOriginLng}}&destination={{srcDestinationLat}},{{srcDestinationLng}}&travelmode=driving" target='_blank'>Directions</a></button>


getDirection(dirLat: any, dirLng: any) {
    let srcLat, srcLng;
    if ('geolocation' in navigator) {
      navigator.geolocation.getCurrentPosition((position) => {

      srcLat = position.coords.latitude;
      srcLng = position.coords.longitude;
      console.log('srcLatsrcLng1', srcLat, srcLng);
      this.dir = {
        origin: { latitude: srcLat, longitude: srcLng },
        destination: { latitude: dirLat, longitude: dirLng }
      };
         this.srcOriginLat = this.dir.origin.latitude;
      this.srcOriginLng = this.dir.origin.longitude;
      this.srcDestinationLat = this.dir.destination.latitude;
      this.srcDestinationLng = this.dir.destination.longitude;
      });
    }

  }
...