Вероятно, это потому, что ваши lat
, lng
вашего компонента не заполнены, когда вы вызываете getDirections()
. getUserLocation()
не приведет к синхронным позиционным координатам. Вы можете проверить код в getUserLocation()
, вставив в консоль браузера. Вы увидите, что требуется время, чтобы дать вам позиции. Если вы звоните getDirections()
в промежутке времени, необходимого для получения результата .. вы получите вышеуказанные ошибки.
Я сделал getDirections()
так:
async getDirection() {
if (typeof this.lat == "undefined" || typeof this.lng == "undefined" || typeof this.zoom == "undefined") {
await this.getUserLocation();
}
// code below will not be executed until getUserLocation() is complete
this.origin = { lat: this.lat, lng: this.lng };
this.destination = { lat: 24.799524, lng: 120.975017 };
}
Ваш getUserLocation()
будет вызываться по максимуму дважды ..