传单路由中的目标坐标

时间:2015-12-02 14:30:30

标签: javascript leaflet openstreetmap nominatim

我使用nominatim进行传单路由。路由工作完全符合我的要求 - 用户可以在搜索框中输入和目的地位置,地图显示两点之间的路线,如下图所示。 enter image description here

但我想获取目的地位置的坐标。有什么方法可以做到这一点吗?下面是代码示例我如何将地图添加到我的页面。

var map = L.map('map').setView([60.4500, 22.2667], 8);


    L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
        attribution: '&copy; <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);

2 个答案:

答案 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那里你会得到你想要的东西