Google Maps Direction服务有时会失败

时间:2012-03-24 11:59:07

标签: javascript google-maps

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

但是,如果我使用某些地址作为源和目的地,它不会像以下那样工作: 资料来源:“披萨站,Tanta,Al Gharbiyah,埃及” 目的地:“Tanta,Tanta Qism 2,Al Gharbiyah,Egypt”

但它正在google地图主网站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);
   }
 });

有没有办法给它源地址和目的地址并在它们之间回路?

2 个答案:

答案 0 :(得分:0)

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

尝试查看返回的状态。

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

答案 1 :(得分:0)

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

  1. 首先使用places-library
  2. 请求位置
  3. 然后使用places-request
  4. 的结果请求指示