谷歌地图方向服务有时会失败

Google Maps Direction service sometimes fails

本文关键字:失败 方向 服务 谷歌地图      更新时间:2023-09-26

我使用以下代码来显示从源到目的地的谷歌地图方向,当我在源和目的地中使用城镇时,它工作得很好,比如:开罗,坦塔

但是,如果我使用某个地址作为源和目的地,它的工作方式如下:资料来源:"比萨站,Tanta,Al Gharbiyah,埃及"目的地:"Tanta,Tanta Qism 2,Al Gharbiyah,埃及"

但它在谷歌地图主网站上运行http://g.co/maps/dvp2y

var directionsService = new google.maps.DirectionsService();
 var directionsDisplay = new google.maps.DirectionsRenderer();
 var map = new google.maps.Map(document.getElementById('map'), {
   zoom:7,
   mapTypeId: google.maps.MapTypeId.ROADMAP
 });
 directionsDisplay.setMap(map);
 directionsDisplay.setPanel(document.getElementById('panel'));
 var request = {
   origin: 'Tanta', 
   destination: 'Cairo',
   travelMode: google.maps.DirectionsTravelMode.DRIVING
 };
 directionsService.route(request, function(response, status) {
   if (status == google.maps.DirectionsStatus.OK) {
     directionsDisplay.setDirections(response);
   }
 });

有没有办法给它提供源地址和目的地地址,并返回它们之间的路径?

当我使用你的出发地和目的地时,我会得到一个方向,但与谷歌地图中的方向不同。我假设谷歌地图会请求位置,而不是对地址进行地理编码,所以你也可以这样做:

  1. 首先使用位置库请求位置
  2. 然后使用位置请求的结果请求方向

官方网站可能不会使用与您相同的代码。

尝试查看返回的状态。

 directionsService.route(request, function(response, status) {
   alert(status);
   if (status == google.maps.DirectionsStatus.OK) {
     directionsDisplay.setDirections(response);
   }
 });