首页 > 解决方案 > Google Maps API:如何捕捉“DIRECTIONS_ROUTE:NOT_FOUND”?

问题描述

谷歌地图不断抛出这个错误:

在此处输入图像描述

我完全意识到它无法对我给出的停止之一进行地理编码,但我不知道如何捕获错误并阻止它记录。否则,它会转到我的错误捕获器并通过电子邮件向我发送垃圾邮件。

我的代码基本上是这样的:

this.directionsService.route(directionsRequest, (response: google.maps.DirectionsResult, status: google.maps.DirectionsStatus) => {
    if (status === DirectionsStatus.OK) {
        // HANDLE OK RESPONSE
    }
}).catch(err => {
    console.warn("google.maps.DirectionsService.route failed", "Error:", err, "Segment:", seg, "Request:", directionsRequest)
})

this.directionsService的实例在哪里google.maps.DirectionsService。如果需要查看,请求对象如下所示:

const directionsRequest: google.maps.DirectionsRequest = {
    origin: origin,
    waypoints: waypoints.map(stop => ({location: stop})),
    destination: destination,
    travelMode: TravelMode.DRIVING,
}

if (seg.pickupTime) {
    const pickupTime = new Date(seg.pickupTime);
    if(pickupTime > Date.now()) {
        // Prevent "departure_time is in the past. Traffic information is only available for future and current times."
        directionsRequest.drivingOptions = {
            departureTime: new Date(seg.pickupTime),
        }
    }
}

if(this.props.distanceUnit === 'KM') {
    directionsRequest.unitSystem = google.maps.UnitSystem.METRIC
} else if(this.props.distanceUnit === 'MI') {
    directionsRequest.unitSystem = google.maps.UnitSystem.IMPERIAL
}

我没有得到的部分是我已经.catch在那里放了一个,当地理编码失败时确实会受到影响,无论如何它也会记录一个错误。

该错误发生在谷歌图书馆的某处:

在此处输入图像描述

有什么选项可以禁用它吗?


我正在像这样加载库:

https://maps.googleapis.com/maps/api/js?key=${encodeURIComponent(apiKey)}&libraries=places,drawing

标签: javascripttypescriptgoogle-mapsgoogle-maps-api-3

解决方案


推荐阅读