使用java进行路由跟踪

时间:2014-06-16 13:56:03

标签: java vaadin openstreetmap

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

测试i creat点并尝试在这些点之间进行链接

这是我的代码

     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);

但是当我执行我的代码时,我得到的一点我已经问过他们告诉我这一点是坐标(0,0)

这是没有ZOOM(蓝点)的点集的屏幕抓取 http://img4.hostingpics.net/pics/810776sss.png

这是MAX ZOOM http://img4.hostingpics.net/pics/122823ert.png

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

1 个答案:

答案 0 :(得分:0)

您正在使用https://en.wikipedia.org/wiki/EPSG:4326坐标,但OSM正在使用https://wiki.openstreetmap.org/wiki/EPSG:3857。第一个是在abs(180,90),其中第二个是在abs(6356752,6378137)。所以你的点基本上是球形墨卡托的中心,缩放非常接近会给你的结果。你必须转换你的数据,例如使用geotools