谷歌地图。找到最短的路径

时间:2014-09-03 12:57:00

标签: map shortest-path

我有这样的情景。 一个地方到另一个地方的路线 如果用户在该路线的方式 我们必须罚款哪一条是最短的路径。 在此先感谢..!

2 个答案:

答案 0 :(得分:0)

使用travel travel-man算法查找最短路径。该算法告诉销售人员如何在所有不同的地方旅行,其中所行的总距离等于所有其他路线中的最小距离。

答案 1 :(得分:0)

没有人回答这个问题。最后我得到了自己的解决方案:D

让我告诉你!!在创建方向服务时,所有边界都将存储在" path"中。所以使用这个数组。然后使用几何函数绘制多义线" isLocationOnEdge" your_point,poly-lines数组它将返回true或false(表示它:D)不要忘记添加学位......!默认度数为10e-10,因此将其更改为10e-2或其他。

      var request = {
        origin: document.getElementById("from").value,
        destination: document.getElementById("to").value,
        travelMode: google.maps.DirectionsTravelMode.DRIVING
      }

      // Make the directions request

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

        if (status == google.maps.DirectionsStatus.OK) {
          directionsRenderer.setDirections(result);

          // Box around the overview path of the first route
          var path = result.routes[0].overview_path;


            var my_polyline = new google.maps.Polyline({
        path: path,
        geodesic: true,
        strokeColor: '#black',
        strokeOpacity: 1.0,
        strokeWeight: 2
      });

      my_polyline.setMap(map);



  var my_position=new google.maps.LatLng(12.9860932,80.1744085);


  console.log(google.maps.geometry.poly.isLocationOnEdge(my_position, my_polyline));


      var boxes = routeBoxer.box(path, distance);
      // alert(boxes.length);


    } else {
      alert("Directions query failed: " + status);
    }
  });