我有下面的代码,可以通过单击查看方向按钮来捕获起点和终点。问题在于单击视图方向按钮时,href URL首先在onclick事件完成其执行之前加载。执行传递给click事件的函数执行后如何加载href URL。在下面的代码中,我正在getDirection方法中捕获起点和终点的经度和纬度,一旦值仅可用,就应该加载外部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;
});
}
}