我使用nominatim进行传单路由。路由工作完全符合我的要求 - 用户可以在搜索框中输入和目的地位置,地图显示两点之间的路线,如下图所示。
但我想获取目的地位置的坐标。有什么方法可以做到这一点吗?下面是代码示例我如何将地图添加到我的页面。
var map = L.map('map').setView([60.4500, 22.2667], 8);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map)
L.Routing.control({
waypoints: [
//L.latLng(60.323935,22.344035)
],
geocoder: L.Control.Geocoder.nominatim()
}).addTo(map);
答案 0 :(得分:2)
查看RoutingResultEvent。每次成功计算路线时都会调用它。处理程序将接收的事件包含用于路径的航点。
所以基本上
var x = L.Routing.control({
// YOUR STUFF
geocoder: L.Control.Geocoder.nominatim()
}).addTo(map);
x.on("routesfound", function(e) {
var waypoints = e.waypoints || [];
var destination = waypoints[waypoints.length - 1]; // there you have the destination point between your hands
});
答案 1 :(得分:0)
你可以使用:
routeControl.on("routesfound", function(e) {
coordinates=e.routes[0].coordinates;
destination=coordinates[coordinates.length-1];
});
你有坐标,航点与坐标不同,你要找的是找到的路线的坐标,而不是你要求的航点,那么你可以坐标.lenght-1那里你会得到你想要的东西