LineString中标记的地标

时间:2015-05-12 12:35:43

标签: java xml google-maps kml

所以我的应用程序中有一个可爱的线串输出,但我真的很想在每个坐标上都有某种标记,可能还有一个包含长/纬坐标的标签。

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

1 个答案:

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