Google Maps API:在以色列两点之间找到一条路线

|| 我试图在我在html页面上手动输入的两点之间找到一条路线,但我得到了ZERO_RESULTS返回值。 用户输入两个位置src_address = \“ Tel Aviv \”和dst_address = \“ Haifa \”。 我通过为每个地址两次调用geocoder.geocode来获得它们的几何位置。然后设置: src_latlng = results [0] .geometry.location; dst_latlng = results [0] .geometry.location; 但是,当询问路由器时,我得到ZERO_RESULTS: 这是代码:
    <!DOCTYPE html>
<html>
<img src=\"globe123.jpg\" width=\"72\" height=\"75\"/> 
<head>
<meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\"/>
<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\"/>
<title>Google Maps JavaScript API v3 Example: Geocoding Simple</title>
<link href=\"http://code.google.com/apis/maps/documentation/javascript/examples/default.css\" rel=\"stylesheet\" type=\"text/css\" />
<script type=\"text/javascript\" src=\"http://maps.google.com/maps/api/js?sensor=false\"></script>



<script type=\"text/javascript\">
  var directionDisplay;
  var directionsService = new google.maps.DirectionsService();

  var geocoder;
  var map;
  var geodesic;
  var poly;
  var src_latlng;
  var dst_latlng;

  function initialize() {
    directionsDisplay = new google.maps.DirectionsRenderer();

    geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(-34.397, 150.644);
    var myOptions = {
      zoom: 8,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById(\"map_canvas\"), myOptions);


    var polyOptions = {
      strokeColor: \'#FF0000\',
      strokeOpacity: 1.0,
      strokeWeight: 3
    }
    poly = new google.maps.Polyline(polyOptions);
    poly.setMap(map);
    directionsDisplay.setMap(map);
    // Add a listener for the click event
    //google.maps.event.addListener(map, \'click\', addLocation);
  }

  function codeAddress() {
    var src_address = document.getElementById(\"SRC_ADDR\").value;
    var dst_address = document.getElementById(\"DST_ADDR\").value;

    geocoder.geocode( { \'address\': src_address}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        map.setCenter(results[0].geometry.location);
        var path = poly.getPath();
        path.push(results[0].geometry.location);
        src_latlng = results[0].geometry.location;
        var marker = new google.maps.Marker({
            map: map, 
            position: results[0].geometry.location
        });
      } else {
        alert(\"Geocode was not successful for the following reason: \" + status);
      }
    });
    geocoder.geocode( { \'address\': dst_address}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        map.setCenter(results[0].geometry.location);
        map.setZoom(8);

        var path = poly.getPath();
        path.push(results[0].geometry.location);
        dst_latlng = results[0].geometry.location;
        var marker = new google.maps.Marker({
            map: map, 
            position: results[0].geometry.location
        });


        calcRoute();

      } else {
        alert(\"Geocode was not successful for the following reason: \" + status);
      }
    });



  }

  function calcRoute() {



      var start = src_latlng;
      var end = dst_latlng;
      var request = {
        origin:start, 
        destination:end ,
        travelMode: google.maps.DirectionsTravelMode.DRIVING
      };

      directionsService.route(request, function(result, status) {

        if (status == google.maps.DirectionsStatus.OK) {         
          directionsDisplay.setDirections(result);
        } else {
            alert(status);            
        }    
        });
    }


</script>
</head>
<body onload=\"initialize()\">


  <div style=\"text-align:left\">
  Source: <input id=\"SRC_ADDR\" type=\"textbox\" value=\"Tel-Aviv, Israel\">
  Destination: <input id=\"DST_ADDR\" type=\"textbox\" value=\"Haifa, Israel\">
  <input type=\"button\" value=\"Calculate Travel Time\" onclick=\"codeAddress()\">
  </div>
  <div id=\"map_canvas\" style=\"height:40%;width:40%;top:120px\"></div>
  <!-- <div id=\"map_canvas\" style=\"width: 320px; height: 480px;\"></div> 
  -->



</body>
</html>
已邀请:
Google尚不支持以色列的Maps API,因此
directionsService.route
函数调用返回了ZERO_RESULTS状态。 请在此处查看Google \'s受支持地区的地图覆盖范围详细信息工作表。指向电子表格的直接链接在这里。
您好,您可以使用此代码获取源和目的地之间的路线 函数setRoute() { var fromAddress = document.getElementById(\“ txtfromAddress \”)。value; var toAddress = document.getElementById(\“ txttoAddress \”)。value; if(fromAddress!= \“ \” && toAddress!= \“ \”) { if(!fromAddress &&!toAddress) { 警报(\'找不到路由\'); } GDir1.load(\“ from:\” + fromAddress + \“ to:\” + toAddress); } 其他 { 警报(\'需要路线指示\'); } }
* http://gmaps-samples.googlecode.com/svn/trunk/mapcoverage_filtered.html* 查看它是否覆盖您所在的区域,其中包括街景视图或卫星视图的详细视图等(可用) GL

要回复问题请先登录注册