所以我的应用程序中有一个可爱的线串输出,但我真的很想在每个坐标上都有某种标记,可能还有一个包含长/纬坐标的标签。
public void map() throws IOException{
for(int i=0; i<getVessels().size(); i++){
if(!getVessels().get(i).getCoordinates().isEmpty()){
FileWriter fstream = new FileWriter("C:\\Users\\Documents\\maps\\" + getVessels().get(i).getMMSI()+
".kml");
BufferedWriter out = new BufferedWriter(fstream);
out.write("<kml>");
out.write("<Placemark>");
out.write("<name>"+getVessels().get(i).getMMSI()+"</name>");
out.write("<LineString>");
out.write("<tessellate>1</tessellate>");
out.write("<altitudeMode>clampToGround</altitudeMode>");
out.write("<coordinates>");
for(int j=0; j<getVessels().get(i).getCoordinates().size(); j++){
out.write(getVessels().get(i).getCoordinates().get(j).getLongitude()+","+
getVessels().get(i).getCoordinates().get(j).getLatitude());
}
out.write("</coordinates>");
out.write("</LineString>");
out.write("</Placemark>");
out.write("</kml>");
out.close();
}
}
}
我找到了上一个问题,但无法弄清楚如何实现文件夹
Create KML file with linestring and placemarks
答案 0 :(得分:0)
了解如何使用文件夹
public void map() throws IOException{
for(int i=0; i<getVessels().size(); i++){
if(!getVessels().get(i).getCoordinates().isEmpty()){
FileWriter fstream = new FileWriter("C:\\Users\\Documents\\maps\\" + getVessels().get(i).getMMSI()+
".kml");
BufferedWriter out = new BufferedWriter(fstream);
out.write("<kml>");
out.write("<Folder>");
out.write("<Placemark>");
out.write("<name>"+getVessels().get(i).getMMSI()+"</name>");
out.write("<LineString>");
out.write("<tessellate>1</tessellate>");
out.write("<altitudeMode>clampToGround</altitudeMode>");
out.write("<coordinates>");
for(int j=0; j<getVessels().get(i).getCoordinates().size(); j++){
out.write(getVessels().get(i).getCoordinates().get(j).getLongitude()+","+
getVessels().get(i).getCoordinates().get(j).getLatitude());
}
out.write("</coordinates>");
out.write("</LineString>");
out.write("</Placemark>");
for(int j=0; j<getVessels().get(i).getCoordinates().size(); j++){
out.write("<Placemark>");
out.write("<name>"+getVessels().get(i).getCoordinates().get(j).coordinates()+"</name>");
out.write("<tessellate>1</tessellate>");
out.write("<altitudeMode>clampToGround</altitudeMode>");
out.write("<Point>");
out.write("<coordinates>");
out.write(getVessels().get(i).getCoordinates().get(j).getLongitude()+","+
getVessels().get(i).getCoordinates().get(j).getLatitude());
out.write("</coordinates>");
out.write("</Point>");
out.write("</Placemark>");
}
out.write("</Folder>");
out.write("</kml>");
out.close();
}
}
}