我正在使用JXMapKit和openStreetMap作为提供商,我正在尝试找到一种在地图上显示路线的方法。然后使用这些路线,以便车辆可以跟随它们。有没有办法这样做,或者有什么替代方案?
提前谢谢。
发布于 2011-11-04 22:20:25
是的你可以。取自此链接:http://www.naxos-software.com/blog/index.php?/archives/92-TracknMash-Openstreetmap-Karten-in-JavaSwing-mit-JXMapViewer.html
您可以编写自己的Painter类并覆盖paint方法来绘制线条:
public void paint... {
g = (Graphics2D) g.create();
// convert from viewport to world bitmap
Rectangle rect = object.getViewportBounds();
g.translate(-rect.x, -rect.y);
//set the line properties
g.setColor(Color.RED);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setStroke(new BasicStroke(2));
// do the drawing
int lastX = -1;
int lastY = -1;
for (GeoPosition point : points) {
Point2D pt = object.getTileFactory().geoToPixel(point, object.getZoom());
if (lastX != -1 && lastY != -1) {
g.drawLine(lastX, lastY, (int) pt.getX(), (int) pt.getY());
}
lastX = (int) pt.getX();
lastY = (int) pt.getY();
}
}其中points是您的GeoPosition对象列表,这些对象构成了您的路由。
然后,将此Painter作为OverlayPainter添加到MapKit中:
myMapKit.getMainMap().setOverlayPainter(new MyPainter(myMockPoints)); https://stackoverflow.com/questions/5894377
复制相似问题