2011-05-05 2 views
1

openStreetMap을 제공 업체로 JXMapKit을 사용하고 있으며지도에 경로를 표시하는 방법을 찾고 있습니다. 경로는 차량이 따라갈 수 있도록 사용됩니다. 어쨌든 그렇게 할 수 있습니까? 아니면 대안이 있습니까?JXMapKit OpenStreetmaps routes를 만드는 중

미리 감사드립니다.

답변

1

가능합니다. 이 링크에서 촬영 :

http://www.naxos-software.com/blog/index.php?/archives/92-TracknMash-Openstreetmap-Karten-in-JavaSwing-mit-JXMapViewer.html 당신은 당신의 자신의 페인터 클래스를 작성하고 선을 그립니다 페인트 메소드를 오버라이드 (override) : 포인트 경로를 형성 GeoPosition 개체의 목록입니다

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

.

그럼 당신은 OverlayPainter로 MapKit이 화가를 추가

myMapKit.getMainMap().setOverlayPainter(new MyPainter(myMockPoints)); 
관련 문제