这里的地图检查位置是否在折线上

时间:2016-06-07 10:19:20

标签: geolocation here-api

我搜索一个方法来查找我当前的位置是否在aPolyline定义的路径上。 在谷歌地图中存在一个函数isLocationOnEdge,但我在Here maps API中找不到silimar函数。

一个想法?

感谢

1 个答案:

答案 0 :(得分:1)

这可以使用下面的方法来实现

//global variable
var polyline;
polyline = new H.map.Polyline(strip);
map.addObject(polyline);

function liesOnPolyline(coords){
 // get objects at the coordinates (pixel coordinates, can be converted from lat, lon using map.geoToScreen )
 var objects = map.getObjectsAt(coords.x, coords.y);

 // iterate through the array to check if polyline can be retrieved here
 var withinPolyline = false;
 for (var object in objects) {
     if(objects[object] === polyline){
       withinPolyline = true;
       break;
    }
 }
 console.log("lies within Polyline"+withinPolyline );
}