使用java进行路由跟踪

使用java进行路由跟踪,java,vaadin,openstreetmap,Java,Vaadin,Openstreetmap,我想追踪不同点之间的轨迹 对于测试,我创建点并尝试在这些点之间建立链接 这是我的密码 OpenStreetMapLayer osm = new OpenStreetMapLayer(); map.addLayer(vectorLayer); List<Point>points= new ArrayList<Point>(); Point point = new Point(44.272872,4.27826); Point point2 = new Po

我想追踪不同点之间的轨迹

对于测试,我创建点并尝试在这些点之间建立链接

这是我的密码

     OpenStreetMapLayer osm = new OpenStreetMapLayer();


map.addLayer(vectorLayer);

List<Point>points= new ArrayList<Point>();

Point point = new Point(44.272872,4.27826);
Point point2 = new Point(-55.272873,5.3873837);
Point point3 = new Point(5.272873,54.3873837);

points.add(point);
points.add(point2);
points.add(point3);

Point[] coord=new Point[points.size()];
points.toArray(coord);

polyline.setPoints(coord);




vectorLayer.addComponent(polyline);

Style defaultstyle = new Style();
/* Set stroke color to green, otherwise like default style */
defaultstyle.extendCoreStyle("default");
defaultstyle.setStrokeColor("#0000ff");
defaultstyle.setStrokeWidth(3);
defaultstyle.setFillColor("#adfffc");
defaultstyle.setFillOpacity(0.4);

// Make borders of selected graphs bigger
Style selectStyle = new Style();
selectStyle.setStrokeWidth(5);

StyleMap stylemap = new StyleMap(defaultstyle, defaultstyle, null);
// make selectStyle inherit attributes not explicitly set
stylemap.setExtendDefault(true);
vectorLayer.setStyleMap(stylemap);
但是当我执行我的代码时,我得到的只是我问过的一点,他们告诉我这一点就是协调的点

这是不缩放蓝点的点集的屏幕捕捉

这是最大变焦

我想知道这是规模问题还是什么? 提前感谢

您正在使用coords,但OSM正在使用。第一个在abs180,90中,第二个在ABS63567526378137中。所以你的点基本上是在球形墨卡托的中心,如果放大到非常近的位置,就会得到你的结果。您必须转换数据,例如使用geotools