我有这样的情景。 一个地方到另一个地方的路线 如果用户在该路线的方式 我们必须罚款哪一条是最短的路径。 在此先感谢..!
答案 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);
}
});