以下のソースコードを使用して、道路上にルートを描画しようとしています:
final List<GeoPosition> region = new ArrayList<GeoPosition>();
Painter<JXMapViewer> lineOverlay = new Painter<JXMapViewer>() {
public void paint(Graphics2D g, JXMapViewer map, int w, int h) {
region.add(new GeoPosition(5.42031,100.34389));
region.add(new GeoPosition(5.41984,100.33924));
region.add(new GeoPosition(5.42300,100.33456));
g = (Graphics2D) g.create();
//convert from viewport to world bitmap
Rectangle rect = jXMapKit1.getMainMap().getViewportBounds();
g.translate(-rect.x, -rect.y);
//do the drawing
g.setColor(Color.RED);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setStroke(new BasicStroke(2));
int lastX = -1;
int lastY = -1;
for (GeoPosition gp : region.getGpxTrack())
{
//convert geo to world bitmap pixel
Point2D pt = jXMapKit1.getMainMap().getTileFactory().geoToPixel(gp, jXMapKit1.getMainMap().getZoom());
if (lastX != -1 && lastY != -1) {
g.drawLine(lastX, lastY, (int) pt.getX(), (int) pt.getY());
}
lastX = (int) pt.getX();
lastY = (int) pt.getY();
}
System.out.println("I am here");
g.dispose();
}
};
ただし、region.getGpxTrack() の行でエラーが発生します。地域のみを使用しようとしました GeoPosition gp : 地域、2点間に線を引くだけです。私が欲しいのは道路ルートです。私がどこを間違えたか知っている人はいますか?