2015-05-08 180 views
0

所以我有多個船隻對象,並且每艘船都有一系列相關的經度和緯度座標存儲顯示其路線。例子:

Ex。地圖經度和緯度

[Longitude: 28.780815 Latitude: 60.259568 
, Longitude: 28.780402 Latitude: 60.259393 
, Longitude: 28.780585 Latitude: 60.259897 
, Longitude: 28.78109 Latitude: 60.259785 
, Longitude: 28.780408 Latitude: 60.259422 
, Longitude: 28.781125 Latitude: 60.259893 
, Longitude: 28.780835 Latitude: 60.259447 
] 

我希望能以某種方式在地圖上繪製每艘船的座標,以獲得船舶航跡的總體概念。
使用java [eclipse],我正在尋找創建座標的圖形映射,但在嘗試找到一個好的庫/工具來執行此操作時遇到問題。

+0

這是非常寬泛的問題,但你可以使用一個ArrayList,HashMap中,地圖等... – ryekayo

+0

每艘船對象都有一個標識符和一個ArrayList的脫身,我試圖找到一種桂我可以映射座標。 –

+0

你是否檢查過SourceForge? – ryekayo

回答

2

嘗試使用kml文件。

BufferedWriter out = new BufferedWriter(fstream); 
          out.write("<kml>"); 
          out.write("<Folder>"); 

          out.write("<Placemark>"); 
          out.write("<name>"+entry.getKey()+"</name>"); 
          out.write("<LineString>"); 
          out.write("<extrude>1</extrude>"); 
          out.write("<tessellate>1</tessellate>"); 
          out.write("<altitudeMode>clampToGround</altitudeMode>"); 
          out.write("<coordinates>"); 
          for(int i=0; i<entry.getValue().getCoordinates().size(); i++){ //path creation 
           out.write(entry.getValue().getCoordinates().get(i).getLongitude()+","+ 
             entry.getValue().getCoordinates().get(i).getLatitude()+" "); 
          } 
          out.write("</coordinates>"); 
          out.write("</LineString>"); 
          out.write("</Placemark>"); 

          for(int j=0; j<entry.getValue().getCoordinates().size(); j++){ //point creation 
           out.write("<Placemark>"); 
           out.write("<name>"+entry.getValue().getCoordinates().get(j).coordinates()+"</name>"); 
           out.write("<tessellate>1</tessellate>"); 
           out.write("<altitudeMode>clampToGround</altitudeMode>"); 
           out.write("<Point>"); 
           out.write("<coordinates>"); 
           out.write(entry.getValue().getCoordinates().get(j).getLongitude()+","+ 
             entry.getValue().getCoordinates().get(j).getLatitude()); 
           out.write("</coordinates>"); 
           out.write("</Point>"); 
           out.write("</Placemark>"); 
          } 

          out.write("</Folder>"); 
          out.write("</kml>"); 
          out.close(); 
         }