Only a small subset of KML objects may actually be used in a Delete, so I made a Deletable interface and moved the writeDelete method into it.
The Document, Folder, Placemark, GroundOverlay, and ScreenOverlay types were update to implement Deletable and all other types were modified to remove the writeDelete method.
The Delete class was modified to call the method in Deletable and to only accept Deletable values for its kmlObject field.
Also corrected several "visibility" misspellings. Added support in the Kml class for the extension schema and added a printNoIndent method to make coordinates easier to read in output.
In Model, I added the ability to specify an ID for the location and orientation so that these can be modified with Update Change later.
Updownquark
13 years ago
37 | 37 | } |
38 | 38 | kml.println(-1, "</Alias>"); |
39 | 39 | } |
40 | ||
41 | public void writeDelete(Kml kml) throws KmlException { | |
42 | kml.println("<Alias" + getIdAndTargetIdFormatted(kml) + "></>"); | |
43 | } | |
44 | 40 | }⏎ |
63 | 63 | } |
64 | 64 | kml.println(-1, "</BallonStyle>"); |
65 | 65 | } |
66 | ||
67 | public void writeDelete(Kml kml) throws KmlException { | |
68 | kml.println("<BallonStyle" + getIdAndTargetIdFormatted(kml) + "></>"); | |
69 | } | |
70 | 66 | }⏎ |
27 | 27 | } |
28 | 28 | kml.println(-1, "</Camera>"); |
29 | 29 | } |
30 | ||
31 | public void writeDelete(Kml kml) throws KmlException { | |
32 | kml.println("<Camera" + getIdAndTargetIdFormatted(kml) + "></>"); | |
33 | } | |
34 | 30 | }⏎ |
11 | 11 | public Container() { |
12 | 12 | } |
13 | 13 | |
14 | public Container(String name, Boolean visability, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, List<Feature> feauters) { | |
15 | super(name, visability, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData); | |
14 | public Container(String name, Boolean visibility, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, List<Feature> feauters) { | |
15 | super(name, visibility, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData); | |
16 | 16 | this.features = feauters; |
17 | 17 | } |
18 | 18 |
47 | 47 | } |
48 | 48 | kml.println(-1, "</Data>"); |
49 | 49 | } |
50 | ||
51 | public void writeDelete(Kml kml) throws KmlException { | |
52 | kml.println("<Data" + getIdAndTargetIdFormatted(kml) + "></>"); | |
53 | } | |
54 | ||
55 | 50 | } |
0 | /* | |
1 | * Deletable.java Created Oct 14, 2010 by Andrew Butler, PSL | |
2 | */ | |
3 | package org.boehn.kmlframework.kml; | |
4 | ||
5 | /** | |
6 | * Only items that implement this interface can be deleted dynamically from a KML document using | |
7 | * {@link Delete}. As of KML 2.2, the only items that may be deleted are {@link Document}, | |
8 | * {@link Folder}, {@link Placemark}, {@link GroundOverlay}, and {@link ScreenOverlay}. | |
9 | */ | |
10 | public interface Deletable | |
11 | { | |
12 | /** | |
13 | * Writes an abbreviated version of the KML element--an empty element with a single attribute, | |
14 | * the targetId of the object to delete | |
15 | * | |
16 | * @param kml The KML document to write the element to | |
17 | * @throws KmlException If an error occurs writing the element | |
18 | */ | |
19 | public abstract void writeDelete(Kml kml) throws KmlException; | |
20 | } |
7 | 7 | setKmlObject(kmlObject); |
8 | 8 | } |
9 | 9 | |
10 | @Override | |
11 | public void setKmlObject(KmlObject kmlObject) | |
12 | { | |
13 | if(!(kmlObject instanceof Deletable)) | |
14 | throw new IllegalArgumentException("Only deletable objects can be deleted"); | |
15 | super.setKmlObject(kmlObject); | |
16 | } | |
17 | ||
10 | 18 | public void write(Kml kml) throws KmlException { |
11 | 19 | kml.println("<Delete>", 1); |
12 | getKmlObject().writeDelete(kml); | |
20 | ((Deletable) getKmlObject()).writeDelete(kml); | |
13 | 21 | kml.println(-1, "</Delete>"); |
14 | 22 | } |
15 | 23 | } |
5 | 5 | import org.boehn.kmlframework.atom.AtomAuthor; |
6 | 6 | import org.boehn.kmlframework.atom.AtomLink; |
7 | 7 | |
8 | public class Document extends Container { | |
8 | public class Document extends Container implements Deletable { | |
9 | 9 | |
10 | 10 | private List<Schema> schemas; |
11 | 11 | |
12 | 12 | public Document() {} |
13 | 13 | |
14 | public Document(String name, Boolean visability, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, List<Feature> feauters, List<Schema> schemas) { | |
15 | super(name, visability, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData, feauters); | |
14 | public Document(String name, Boolean visibility, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, List<Feature> feauters, List<Schema> schemas) { | |
15 | super(name, visibility, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData, feauters); | |
16 | 16 | this.schemas = schemas; |
17 | 17 | } |
18 | 18 | |
42 | 42 | } |
43 | 43 | |
44 | 44 | public void writeDelete(Kml kml) throws KmlException { |
45 | kml.println("<Document" + getIdAndTargetIdFormatted(kml) + "></>"); | |
45 | kml.println("<Document" + getIdAndTargetIdFormatted(kml) + "></Document>"); | |
46 | 46 | } |
47 | 47 | } |
80 | 80 | } |
81 | 81 | kml.println(-1, "</ExtendedData>"); |
82 | 82 | } |
83 | ||
84 | public void writeDelete(Kml kml) throws KmlException { | |
85 | kml.println("<ExtendedData" + getIdAndTargetIdFormatted(kml) + "></>"); | |
86 | } | |
87 | 83 | } |
8 | 8 | public abstract class Feature extends KmlObject { |
9 | 9 | |
10 | 10 | private String name; |
11 | private Boolean visability; | |
11 | private Boolean visibility; | |
12 | 12 | private Boolean open; |
13 | 13 | private AtomAuthor atomAuthor; |
14 | 14 | private AtomLink atomLink; |
27 | 27 | |
28 | 28 | public Feature() {} |
29 | 29 | |
30 | public Feature(String name, Boolean visability, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData) { | |
30 | public Feature(String name, Boolean visibility, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData) { | |
31 | 31 | this.name = name; |
32 | this.visability = visability; | |
32 | this.visibility = visibility; | |
33 | 33 | this.open = open; |
34 | 34 | this.atomAuthor = atomAuthor; |
35 | 35 | this.atomLink = atomLink; |
55 | 55 | this.name = name; |
56 | 56 | } |
57 | 57 | |
58 | public Boolean isVisability() { | |
59 | return visability; | |
60 | } | |
61 | ||
62 | public void setVisability(Boolean visability) { | |
63 | this.visability = visability; | |
58 | public Boolean isVisibility() { | |
59 | return visibility; | |
60 | } | |
61 | ||
62 | public void setVisibility(Boolean visibility) { | |
63 | this.visibility = visibility; | |
64 | 64 | } |
65 | 65 | |
66 | 66 | public boolean isOpen() { |
194 | 194 | if (name != null) { |
195 | 195 | kml.println("<name>" + name + "</name>"); |
196 | 196 | } |
197 | if (visability != null) { | |
198 | kml.println("<visability>" + booleanToInt(visability) + "</visability>"); | |
197 | if (visibility != null) { | |
198 | kml.println("<visibility>" + booleanToInt(visibility) + "</visibility>"); | |
199 | 199 | } |
200 | 200 | if (open != null) { |
201 | 201 | kml.println("<open>" + booleanToInt(open) + "</open>"); |
4 | 4 | import org.boehn.kmlframework.atom.AtomAuthor; |
5 | 5 | import org.boehn.kmlframework.atom.AtomLink; |
6 | 6 | |
7 | public class Folder extends Container { | |
7 | public class Folder extends Container implements Deletable { | |
8 | 8 | |
9 | 9 | public Folder() {} |
10 | 10 | |
11 | public Folder(String name, Boolean visability, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, List<Feature> feauters) { | |
12 | super(name, visability, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData, feauters); | |
11 | public Folder(String name, Boolean visibility, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, List<Feature> feauters) { | |
12 | super(name, visibility, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData, feauters); | |
13 | 13 | } |
14 | 14 | |
15 | 15 | public void write(Kml kml) throws KmlException { |
19 | 19 | } |
20 | 20 | |
21 | 21 | public void writeDelete(Kml kml) throws KmlException { |
22 | kml.println("<Folder" + getIdAndTargetIdFormatted(kml) + "></>"); | |
22 | kml.println("<Folder" + getIdAndTargetIdFormatted(kml) + "></Folder>"); | |
23 | 23 | } |
24 | 24 | } |
4 | 4 | import org.boehn.kmlframework.atom.AtomAuthor; |
5 | 5 | import org.boehn.kmlframework.atom.AtomLink; |
6 | 6 | |
7 | public class GroundOverlay extends Overlay { | |
7 | public class GroundOverlay extends Overlay implements Deletable { | |
8 | 8 | |
9 | 9 | private Double altitude; |
10 | 10 | private AltitudeModeEnum altitudeMode; |
16 | 16 | |
17 | 17 | public GroundOverlay() {} |
18 | 18 | |
19 | public GroundOverlay(String name, Boolean visability, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, String color, Integer drawOrder, Icon icon, Double alititude, AltitudeModeEnum altitudeMode, Double north, Double south, Double east, Double west, Double rotation) { | |
20 | super(name, visability, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData, color, drawOrder, icon); | |
19 | public GroundOverlay(String name, Boolean visibility, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, String color, Integer drawOrder, Icon icon, Double alititude, AltitudeModeEnum altitudeMode, Double north, Double south, Double east, Double west, Double rotation) { | |
20 | super(name, visibility, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData, color, drawOrder, icon); | |
21 | 21 | this.altitude = alititude; |
22 | 22 | this.altitudeMode = altitudeMode; |
23 | 23 | this.north = north; |
115 | 115 | } |
116 | 116 | |
117 | 117 | public void writeDelete(Kml kml) throws KmlException { |
118 | kml.println("<GroundOverlay" + getIdAndTargetIdFormatted(kml) + "></>"); | |
118 | kml.println("<GroundOverlay" + getIdAndTargetIdFormatted(kml) + "></GroundOverlay>"); | |
119 | 119 | } |
120 | 120 | }⏎ |
12 | 12 | writeInner(kml); |
13 | 13 | kml.println(-1, "</Icon>"); |
14 | 14 | } |
15 | ||
16 | public void writeDelete(Kml kml) throws KmlException { | |
17 | kml.println("<Icon" + getIdAndTargetIdFormatted(kml) + "></>"); | |
18 | } | |
19 | 15 | } |
97 | 97 | } |
98 | 98 | kml.println(-1, "</IconStyle>"); |
99 | 99 | } |
100 | ||
101 | public void writeDelete(Kml kml) throws KmlException { | |
102 | kml.println("<IconStyle" + getIdAndTargetIdFormatted(kml) + "></>"); | |
103 | } | |
104 | 100 | }⏎ |
10 | 10 | protected Feature feature; |
11 | 11 | protected boolean celestialData = false; |
12 | 12 | protected boolean atomElementsIncluded = false; |
13 | protected boolean extensionElementsIncluded = false; | |
13 | 14 | protected boolean generateObjectIds = true; |
14 | 15 | |
15 | 16 | private PrintWriter printWriter; |
63 | 64 | this.atomElementsIncluded = atomElementsIncluded; |
64 | 65 | } |
65 | 66 | |
67 | public boolean isExtensionElementsIncluded() { | |
68 | return extensionElementsIncluded; | |
69 | } | |
70 | ||
71 | public void setExtensionElementsIncluded(boolean extensionElementsIncluded) { | |
72 | this.extensionElementsIncluded = extensionElementsIncluded; | |
73 | } | |
74 | ||
66 | 75 | public boolean isGenerateObjectIds() { |
67 | 76 | return generateObjectIds; |
68 | 77 | } |
69 | 78 | |
70 | 79 | public void setGenerateObjectIds(boolean generateObjectIds) { |
71 | 80 | this.generateObjectIds = generateObjectIds; |
81 | } | |
82 | ||
83 | public void printNoIndent(String string) { | |
84 | printWriter.print(string); | |
72 | 85 | } |
73 | 86 | |
74 | 87 | public void print(String string) { |
112 | 125 | } |
113 | 126 | |
114 | 127 | public void write(Kml kml) throws KmlException { |
115 | kml.println("<kml xmlns=\"http://www.opengis.net/kml/2.2\"" + (celestialData ? " hint=\"target=sky\"" : "") + (atomElementsIncluded ? " xmlns:atom=\"http://www.w3.org/2005/Atom\"" : "") + ">", 1); | |
128 | kml.println("<kml xmlns=\"http://www.opengis.net/kml/2.2\"" + (celestialData ? " hint=\"target=sky\"" : "") | |
129 | + (atomElementsIncluded ? " xmlns:atom=\"http://www.w3.org/2005/Atom\"" : "") | |
130 | + (extensionElementsIncluded ? " xmlns:gx=\"http://www.google.com/kml/ext/2.2\"" : "") | |
131 | + ">", 1); | |
116 | 132 | if (networkLinkControl != null) { |
117 | 133 | networkLinkControl.write(kml); |
118 | 134 | } |
23 | 23 | } |
24 | 24 | |
25 | 25 | public abstract void write(Kml kml) throws KmlException; |
26 | ||
27 | public abstract void writeDelete(Kml kml) throws KmlException; | |
28 | 26 | |
29 | 27 | protected String getIdAndTargetIdFormatted(Kml kml) { |
30 | 28 | if (kml.isGenerateObjectIds() && id == null) { |
26 | 26 | } |
27 | 27 | kml.println(-1, "</LabelStyle>"); |
28 | 28 | } |
29 | ||
30 | public void writeDelete(Kml kml) throws KmlException { | |
31 | kml.println("<LabelStyle" + getIdAndTargetIdFormatted(kml) + "></>"); | |
32 | } | |
33 | 29 | }⏎ |
72 | 72 | if (firstLoop) { |
73 | 73 | firstLoop = false; |
74 | 74 | } else { |
75 | kml.print(" "); | |
75 | kml.printNoIndent(" "); | |
76 | 76 | } |
77 | kml.print(point.getLongitudeLatitudeAltitudeString()); | |
77 | kml.printNoIndent(point.getLongitudeLatitudeAltitudeString()); | |
78 | 78 | } |
79 | 79 | kml.println("</coordinates>"); |
80 | 80 | } |
81 | 81 | kml.println(-1, "</LineString>"); |
82 | 82 | } |
83 | ||
84 | public void writeDelete(Kml kml) throws KmlException { | |
85 | kml.println("<LineString" + getIdAndTargetIdFormatted(kml) + "></>"); | |
86 | } | |
87 | 83 | }⏎ |
26 | 26 | } |
27 | 27 | kml.println(-1, "</LineStyle>"); |
28 | 28 | } |
29 | ||
30 | public void writeDelete(Kml kml) throws KmlException { | |
31 | kml.println("<LineStyle" + getIdAndTargetIdFormatted(kml) + "></>"); | |
32 | } | |
33 | 29 | }⏎ |
71 | 71 | if (firstLoop) { |
72 | 72 | firstLoop = false; |
73 | 73 | } else { |
74 | kml.print(" "); | |
74 | kml.printNoIndent(" "); | |
75 | 75 | } |
76 | kml.print(point.getLongitudeLatitudeAltitudeString()); | |
76 | kml.printNoIndent(point.getLongitudeLatitudeAltitudeString()); | |
77 | 77 | } |
78 | 78 | // We add the first coordinate to the end, as KML require the first coordinate to be equal to the last |
79 | 79 | kml.print(" " + coordinates.get(0).getLongitudeLatitudeAltitudeString()); |
82 | 82 | |
83 | 83 | kml.println(-1, "</LinearRing>"); |
84 | 84 | } |
85 | ||
86 | public void writeDelete(Kml kml) throws KmlException { | |
87 | kml.println("<LinearRing" + getIdAndTargetIdFormatted(kml) + "></>"); | |
88 | } | |
89 | 85 | }⏎ |
91 | 91 | writeInner(kml); |
92 | 92 | kml.println(-1, "</Link>"); |
93 | 93 | } |
94 | ||
95 | public void writeDelete(Kml kml) throws KmlException { | |
96 | kml.println("<Link" + getIdAndTargetIdFormatted(kml) + "></>"); | |
97 | } | |
98 | 94 | |
99 | 95 | protected void writeInner(Kml kml) throws KmlException { |
100 | 96 | if (href != null) { |
67 | 67 | } |
68 | 68 | kml.println(-1, "</ListStyle>"); |
69 | 69 | } |
70 | ||
71 | public void writeDelete(Kml kml) throws KmlException { | |
72 | kml.println("<ListStyle" + getIdAndTargetIdFormatted(kml) + "></>"); | |
73 | } | |
74 | 70 | }⏎ |
27 | 27 | } |
28 | 28 | kml.println(-1, "</LookAt>"); |
29 | 29 | } |
30 | ||
31 | public void writeDelete(Kml kml) throws KmlException { | |
32 | kml.println("<LookAt" + getIdAndTargetIdFormatted(kml) + "></>"); | |
33 | } | |
34 | 30 | }⏎ |
15 | 15 | private Double scaleZ; |
16 | 16 | private Link link; |
17 | 17 | private List<Alias> resourceMap; |
18 | private String locationID; | |
19 | private String orientationID; | |
20 | private String scaleID; | |
18 | 21 | |
19 | 22 | public Model() {} |
20 | 23 | |
129 | 132 | this.resourceMap = resourceMap; |
130 | 133 | } |
131 | 134 | |
135 | public String getLocationID() { | |
136 | return locationID; | |
137 | } | |
138 | ||
139 | public void setLocationID(String id) { | |
140 | locationID=id; | |
141 | } | |
142 | ||
143 | public String getOrientationID() { | |
144 | return orientationID; | |
145 | } | |
146 | ||
147 | public void setOrientationID(String id) { | |
148 | orientationID=id; | |
149 | } | |
150 | ||
151 | public String getScaleID() { | |
152 | return scaleID; | |
153 | } | |
154 | ||
155 | public void setScaleID(String id) { | |
156 | scaleID=id; | |
157 | } | |
158 | ||
132 | 159 | public void write(Kml kml) throws KmlException { |
133 | 160 | kml.println("<Model" + getIdAndTargetIdFormatted(kml) + ">", 1); |
134 | 161 | if (altitudeMode != null) { |
135 | 162 | kml.println("<altitudeMode>" + altitudeMode + "</altitudeMode>"); |
136 | 163 | } |
137 | 164 | if (longitude != null || latitude != null || altitude != null) { |
138 | kml.println("<Location>", 1); | |
165 | kml.println("<Location"+ | |
166 | (locationID==null ? "" : " id=\""+locationID+"\"") | |
167 | +">", 1); | |
139 | 168 | if (longitude != null) { |
140 | 169 | kml.println("<longitude>" + longitude + "</longitude>"); |
141 | 170 | } |
148 | 177 | kml.println(-1, "</Location>"); |
149 | 178 | } |
150 | 179 | if (heading != null || tilt != null || roll != null) { |
151 | kml.println("<Orientation>", 1); | |
180 | kml.println("<Orientation" | |
181 | +(orientationID==null ? "" : " id=\""+orientationID+"\"") | |
182 | +">", 1); | |
152 | 183 | if (heading != null) { |
153 | 184 | kml.println("<heading>" + heading + "</heading>"); |
154 | 185 | } |
161 | 192 | kml.println(-1, "</Orientation>"); |
162 | 193 | } |
163 | 194 | if (scaleX != null || scaleY != null || scaleZ != null) { |
164 | kml.println("<Scale>", 1); | |
195 | kml.println("<Scale" | |
196 | +(scaleID==null ? "" : " id=\""+scaleID+"\"") | |
197 | +">", 1); | |
165 | 198 | if (scaleX != null) { |
166 | 199 | kml.println("<x>" + scaleX + "</x>"); |
167 | 200 | } |
185 | 218 | } |
186 | 219 | kml.println(-1, "</Model>"); |
187 | 220 | } |
188 | ||
189 | public void writeDelete(Kml kml) throws KmlException { | |
190 | kml.println("<Model" + getIdAndTargetIdFormatted(kml) + "></>"); | |
191 | } | |
192 | 221 | }⏎ |
28 | 28 | } |
29 | 29 | kml.println(-1, "</MultiGeometry>"); |
30 | 30 | } |
31 | ||
32 | public void writeDelete(Kml kml) throws KmlException { | |
33 | kml.println("<MultiGeometry" + getIdAndTargetIdFormatted(kml) + "></>"); | |
34 | } | |
35 | 31 | }⏎ |
12 | 12 | |
13 | 13 | public NetworkLink() {} |
14 | 14 | |
15 | public NetworkLink(String name, Boolean visability, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, Boolean refreshVisability, Boolean flyToView, Link link) { | |
16 | super(name, visability, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData); | |
17 | this.refreshVisibility = refreshVisability; | |
15 | public NetworkLink(String name, Boolean visibility, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, Boolean refreshVisibility, Boolean flyToView, Link link) { | |
16 | super(name, visibility, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData); | |
17 | this.refreshVisibility = refreshVisibility; | |
18 | 18 | this.flyToView = flyToView; |
19 | 19 | this.link = link; |
20 | 20 | } |
57 | 57 | } |
58 | 58 | kml.println(-1, "</NetworkLink>"); |
59 | 59 | } |
60 | ||
61 | public void writeDelete(Kml kml) throws KmlException { | |
62 | kml.println("<NetworkLink" + getIdAndTargetIdFormatted(kml) + "></>"); | |
63 | } | |
64 | 60 | }⏎ |
152 | 152 | } |
153 | 153 | kml.println(-1, "</NetworkLinkControl>"); |
154 | 154 | } |
155 | ||
156 | public void writeDelete(Kml kml) throws KmlException { | |
157 | kml.println("<NetworkLinkControl" + getIdAndTargetIdFormatted(kml) + "></>"); | |
158 | } | |
159 | 155 | }⏎ |
12 | 12 | |
13 | 13 | public Overlay() {} |
14 | 14 | |
15 | public Overlay(String name, Boolean visability, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, String color, Integer drawOrder, Icon icon) { | |
16 | super(name, visability, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData); | |
15 | public Overlay(String name, Boolean visibility, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, String color, Integer drawOrder, Icon icon) { | |
16 | super(name, visibility, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData); | |
17 | 17 | this.color = color; |
18 | 18 | this.drawOrder = drawOrder; |
19 | 19 | this.icon = icon; |
40 | 40 | kml.println("<styleUrl>" + styleUrl + "</styleUrl>"); |
41 | 41 | kml.println(-1, "</Pair>"); |
42 | 42 | } |
43 | ||
44 | public void writeDelete(Kml kml) throws KmlException { | |
45 | kml.println("<Pair" + getIdAndTargetIdFormatted(kml) + "></>"); | |
46 | } | |
47 | 43 | }⏎ |
4 | 4 | import org.boehn.kmlframework.atom.AtomAuthor; |
5 | 5 | import org.boehn.kmlframework.atom.AtomLink; |
6 | 6 | |
7 | public class PhotoOverlay extends Overlay { | |
7 | public class PhotoOverlay extends Overlay | |
8 | { | |
8 | 9 | |
9 | 10 | private Double rotation; |
11 | ||
10 | 12 | private Double leftFov; |
13 | ||
11 | 14 | private Double rightFov; |
15 | ||
12 | 16 | private Double bottomFov; |
17 | ||
13 | 18 | private Double topFov; |
19 | ||
14 | 20 | private Double near; |
21 | ||
15 | 22 | private Integer tileSize; |
23 | ||
16 | 24 | private Integer maxWidth; |
25 | ||
17 | 26 | private Integer maxHeight; |
27 | ||
18 | 28 | private GridOriginEnum gridOrigin; |
29 | ||
19 | 30 | private Point point; |
31 | ||
20 | 32 | private ShapeEnum shape; |
21 | ||
22 | public PhotoOverlay() {} | |
23 | ||
24 | public PhotoOverlay(String name, Boolean visability, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, String color, Integer drawOrder, Icon icon, Double rotation, Double leftFov, Double rightFov, Double bottomFov, Double topFov, Double near, Integer tileSize, Integer maxWidth, Integer maxHeight, GridOriginEnum gridOrigin, Point point, ShapeEnum shape) { | |
25 | super(name, visability, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData, color, drawOrder, icon); | |
33 | ||
34 | public PhotoOverlay() | |
35 | { | |
36 | } | |
37 | ||
38 | public PhotoOverlay(String name, Boolean visibility, Boolean open, AtomAuthor atomAuthor, | |
39 | AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, | |
40 | String snippet, Integer snippetMaxLines, String description, AbstractView abstractView, | |
41 | TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, | |
42 | Region region, ExtendedData extendedData, String color, Integer drawOrder, Icon icon, | |
43 | Double rotation, Double leftFov, Double rightFov, Double bottomFov, Double topFov, | |
44 | Double near, Integer tileSize, Integer maxWidth, Integer maxHeight, | |
45 | GridOriginEnum gridOrigin, Point point, ShapeEnum shape) | |
46 | { | |
47 | super(name, visibility, open, atomAuthor, atomLink, address, xalAddressDetails, | |
48 | phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, | |
49 | styleUrl, styleSelectors, region, extendedData, color, drawOrder, icon); | |
26 | 50 | this.rotation = rotation; |
27 | 51 | this.leftFov = leftFov; |
28 | 52 | this.rightFov = rightFov; |
36 | 60 | this.point = point; |
37 | 61 | this.shape = shape; |
38 | 62 | } |
39 | ||
40 | public Double getRotation() { | |
63 | ||
64 | public Double getRotation() | |
65 | { | |
41 | 66 | return rotation; |
42 | 67 | } |
43 | 68 | |
44 | public void setRotation(Double rotation) { | |
69 | public void setRotation(Double rotation) | |
70 | { | |
45 | 71 | this.rotation = rotation; |
46 | 72 | } |
47 | 73 | |
48 | public Double getLeftFov() { | |
74 | public Double getLeftFov() | |
75 | { | |
49 | 76 | return leftFov; |
50 | 77 | } |
51 | 78 | |
52 | public void setLeftFov(Double leftFov) { | |
79 | public void setLeftFov(Double leftFov) | |
80 | { | |
53 | 81 | this.leftFov = leftFov; |
54 | 82 | } |
55 | 83 | |
56 | public Double getRightFov() { | |
84 | public Double getRightFov() | |
85 | { | |
57 | 86 | return rightFov; |
58 | 87 | } |
59 | 88 | |
60 | public void setRightFov(Double rightFov) { | |
89 | public void setRightFov(Double rightFov) | |
90 | { | |
61 | 91 | this.rightFov = rightFov; |
62 | 92 | } |
63 | 93 | |
64 | public Double getBottomFov() { | |
94 | public Double getBottomFov() | |
95 | { | |
65 | 96 | return bottomFov; |
66 | 97 | } |
67 | 98 | |
68 | public void setBottomFov(Double bottomFov) { | |
99 | public void setBottomFov(Double bottomFov) | |
100 | { | |
69 | 101 | this.bottomFov = bottomFov; |
70 | 102 | } |
71 | 103 | |
72 | public Double getTopFov() { | |
104 | public Double getTopFov() | |
105 | { | |
73 | 106 | return topFov; |
74 | 107 | } |
75 | 108 | |
76 | public void setTopFov(Double topFov) { | |
109 | public void setTopFov(Double topFov) | |
110 | { | |
77 | 111 | this.topFov = topFov; |
78 | 112 | } |
79 | 113 | |
80 | public Double getNear() { | |
114 | public Double getNear() | |
115 | { | |
81 | 116 | return near; |
82 | 117 | } |
83 | 118 | |
84 | public void setNear(Double near) { | |
119 | public void setNear(Double near) | |
120 | { | |
85 | 121 | this.near = near; |
86 | 122 | } |
87 | 123 | |
88 | public Integer getTileSize() { | |
124 | public Integer getTileSize() | |
125 | { | |
89 | 126 | return tileSize; |
90 | 127 | } |
91 | 128 | |
92 | public void setTileSize(Integer tileSize) { | |
129 | public void setTileSize(Integer tileSize) | |
130 | { | |
93 | 131 | this.tileSize = tileSize; |
94 | 132 | } |
95 | 133 | |
96 | public Integer getMaxWidth() { | |
134 | public Integer getMaxWidth() | |
135 | { | |
97 | 136 | return maxWidth; |
98 | 137 | } |
99 | 138 | |
100 | public void setMaxWidth(Integer maxWidth) { | |
139 | public void setMaxWidth(Integer maxWidth) | |
140 | { | |
101 | 141 | this.maxWidth = maxWidth; |
102 | 142 | } |
103 | 143 | |
104 | public Integer getMaxHeight() { | |
144 | public Integer getMaxHeight() | |
145 | { | |
105 | 146 | return maxHeight; |
106 | 147 | } |
107 | 148 | |
108 | public void setMaxHeight(Integer maxHeight) { | |
149 | public void setMaxHeight(Integer maxHeight) | |
150 | { | |
109 | 151 | this.maxHeight = maxHeight; |
110 | 152 | } |
111 | 153 | |
112 | public GridOriginEnum getGridOrigin() { | |
154 | public GridOriginEnum getGridOrigin() | |
155 | { | |
113 | 156 | return gridOrigin; |
114 | 157 | } |
115 | 158 | |
116 | public void setGridOrigin(GridOriginEnum gridOrigin) { | |
159 | public void setGridOrigin(GridOriginEnum gridOrigin) | |
160 | { | |
117 | 161 | this.gridOrigin = gridOrigin; |
118 | 162 | } |
119 | 163 | |
120 | public Point getPoint() { | |
164 | public Point getPoint() | |
165 | { | |
121 | 166 | return point; |
122 | 167 | } |
123 | 168 | |
124 | public void setPoint(Point point) { | |
169 | public void setPoint(Point point) | |
170 | { | |
125 | 171 | this.point = point; |
126 | 172 | } |
127 | 173 | |
128 | public ShapeEnum getShape() { | |
174 | public ShapeEnum getShape() | |
175 | { | |
129 | 176 | return shape; |
130 | 177 | } |
131 | 178 | |
132 | public void setShape(ShapeEnum shape) { | |
179 | public void setShape(ShapeEnum shape) | |
180 | { | |
133 | 181 | this.shape = shape; |
134 | 182 | } |
135 | 183 | |
136 | public void write(Kml kml) throws KmlException { | |
184 | public void write(Kml kml) throws KmlException | |
185 | { | |
137 | 186 | kml.println("<PhotoOverlay" + getIdAndTargetIdFormatted(kml) + ">", 1); |
138 | 187 | super.writeInner(kml); |
139 | if (rotation != null) { | |
188 | if(rotation != null) | |
189 | { | |
140 | 190 | kml.println("<rotation>" + rotation + "</rotation>"); |
141 | 191 | } |
142 | if (leftFov != null || rightFov != null || bottomFov != null || topFov != null || near != null) { | |
192 | if(leftFov != null || rightFov != null || bottomFov != null || topFov != null | |
193 | || near != null) | |
194 | { | |
143 | 195 | kml.println("<ViewVolume>", 1); |
144 | if (leftFov != null) { | |
196 | if(leftFov != null) | |
197 | { | |
145 | 198 | kml.println("<leftFov>" + leftFov + "</leftFov>"); |
146 | 199 | } |
147 | if (rightFov != null) { | |
200 | if(rightFov != null) | |
201 | { | |
148 | 202 | kml.println("<rightFov>" + rightFov + "</rightFov>"); |
149 | 203 | } |
150 | if (bottomFov != null) { | |
204 | if(bottomFov != null) | |
205 | { | |
151 | 206 | kml.println("<bottomFov>" + bottomFov + "</bottomFov>"); |
152 | 207 | } |
153 | if (topFov != null) { | |
208 | if(topFov != null) | |
209 | { | |
154 | 210 | kml.println("<topFov>" + topFov + "</topFov>"); |
155 | 211 | } |
156 | if (near != null) { | |
212 | if(near != null) | |
213 | { | |
157 | 214 | kml.println("<near>" + near + "</near>"); |
158 | 215 | } |
159 | 216 | kml.println(-1, "</ViewVolume>"); |
160 | 217 | } |
161 | if (tileSize != null || maxWidth != null || maxHeight != null || gridOrigin != null) { | |
218 | if(tileSize != null || maxWidth != null || maxHeight != null || gridOrigin != null) | |
219 | { | |
162 | 220 | kml.println("<ImagePyramid>", 1); |
163 | if (tileSize != null) { | |
221 | if(tileSize != null) | |
222 | { | |
164 | 223 | kml.println("<tileSize>" + tileSize + "</tileSize>"); |
165 | 224 | } |
166 | if (maxWidth != null) { | |
225 | if(maxWidth != null) | |
226 | { | |
167 | 227 | kml.println("<maxWidth>" + maxWidth + "</maxWidth>"); |
168 | 228 | } |
169 | if (maxHeight != null) { | |
229 | if(maxHeight != null) | |
230 | { | |
170 | 231 | kml.println("<maxHeight>" + maxHeight + "</maxHeight>"); |
171 | 232 | } |
172 | if (gridOrigin != null) { | |
233 | if(gridOrigin != null) | |
234 | { | |
173 | 235 | kml.println("<gridOrigin>" + gridOrigin + "</gridOrigin>"); |
174 | 236 | } |
175 | 237 | kml.println(-1, "</ImagePyramid>"); |
176 | if (point != null) { | |
238 | if(point != null) | |
239 | { | |
177 | 240 | point.write(kml); |
178 | 241 | } |
179 | if (shape != null) { | |
242 | if(shape != null) | |
243 | { | |
180 | 244 | kml.println("<shape>" + shape + "</shape>"); |
181 | 245 | } |
182 | 246 | } |
183 | 247 | kml.println(-1, "</PhotoOverlay>"); |
184 | 248 | } |
185 | ||
186 | public void writeDelete(Kml kml) throws KmlException { | |
187 | kml.println("<PhotoOverlay" + getIdAndTargetIdFormatted(kml) + "></>"); | |
188 | } | |
189 | }⏎ | |
249 | } |
4 | 4 | import org.boehn.kmlframework.atom.AtomAuthor; |
5 | 5 | import org.boehn.kmlframework.atom.AtomLink; |
6 | 6 | |
7 | public class Placemark extends Feature { | |
7 | public class Placemark extends Feature implements Deletable { | |
8 | 8 | |
9 | 9 | private Geometry geometry; |
10 | 10 | |
14 | 14 | setName(name); |
15 | 15 | } |
16 | 16 | |
17 | public Placemark(String name, Boolean visability, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, Geometry geometry) { | |
18 | super(name, visability, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData); | |
17 | public Placemark(String name, Boolean visibility, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, Geometry geometry) { | |
18 | super(name, visibility, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData); | |
19 | 19 | this.geometry = geometry; |
20 | 20 | } |
21 | 21 |
83 | 83 | kml.println(-1, "</Point>"); |
84 | 84 | } |
85 | 85 | |
86 | public void writeDelete(Kml kml) throws KmlException { | |
87 | kml.println("<Point" + getIdAndTargetIdFormatted(kml) + "></>"); | |
88 | } | |
89 | ||
90 | 86 | public String getLongitudeLatitudeAltitudeString() { |
91 | 87 | return longitude +"," + latitude + (altitude != null? "," + altitude : ""); |
92 | 88 | } |
39 | 39 | } |
40 | 40 | kml.println(-1, "</PolyStyle>"); |
41 | 41 | } |
42 | ||
43 | public void writeDelete(Kml kml) throws KmlException { | |
44 | kml.println("<PolyStyle" + getIdAndTargetIdFormatted(kml) + "></>"); | |
45 | } | |
46 | 42 | }⏎ |
89 | 89 | } |
90 | 90 | kml.println(-1, "</Polygon>"); |
91 | 91 | } |
92 | ||
93 | public void writeDelete(Kml kml) throws KmlException { | |
94 | kml.println("<Polygon" + getIdAndTargetIdFormatted(kml) + "></>"); | |
95 | } | |
96 | 92 | }⏎ |
169 | 169 | } |
170 | 170 | kml.println(-1, "</Region>"); |
171 | 171 | } |
172 | ||
173 | public void writeDelete(Kml kml) throws KmlException { | |
174 | kml.println("<Region" + getIdAndTargetIdFormatted(kml) + "></>"); | |
175 | } | |
176 | 172 | }⏎ |
28 | 28 | } |
29 | 29 | kml.println(-1, "</Schema>"); |
30 | 30 | } |
31 | ||
32 | public void writeDelete(Kml kml) throws KmlException { | |
33 | kml.println("<Schema" + getIdAndTargetIdFormatted(kml) + "></>"); | |
34 | } | |
35 | 31 | }⏎ |
4 | 4 | import org.boehn.kmlframework.atom.AtomAuthor; |
5 | 5 | import org.boehn.kmlframework.atom.AtomLink; |
6 | 6 | |
7 | public class ScreenOverlay extends Overlay { | |
7 | public class ScreenOverlay extends Overlay implements Deletable { | |
8 | 8 | |
9 | 9 | private Double overlayX; |
10 | 10 | private Double overlayY; |
26 | 26 | |
27 | 27 | public ScreenOverlay() {} |
28 | 28 | |
29 | public ScreenOverlay(String name, Boolean visability, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, String color, Integer drawOrder, Icon icon, Double overlayX, Double overlayY, UnitEnum overlayXunits, UnitEnum overlayYunits, Double screenX, Double screenY, UnitEnum screenXunits, UnitEnum screenYunits, Double rotationX, Double rotationY, UnitEnum rotationXunits, UnitEnum rotationYunits, Double sizeX, Double sizeY, UnitEnum sizeXunits, UnitEnum sizeYunits, Double rotation) { | |
30 | super(name, visability, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData, color, drawOrder, icon); | |
29 | public ScreenOverlay(String name, Boolean visibility, Boolean open, AtomAuthor atomAuthor, AtomLink atomLink, String address, String xalAddressDetails, String phoneNumber, String snippet, Integer snippetMaxLines,String description, AbstractView abstractView, TimePrimitive timePrimitive, String styleUrl, List<StyleSelector> styleSelectors, Region region, ExtendedData extendedData, String color, Integer drawOrder, Icon icon, Double overlayX, Double overlayY, UnitEnum overlayXunits, UnitEnum overlayYunits, Double screenX, Double screenY, UnitEnum screenXunits, UnitEnum screenYunits, Double rotationX, Double rotationY, UnitEnum rotationXunits, UnitEnum rotationYunits, Double sizeX, Double sizeY, UnitEnum sizeXunits, UnitEnum sizeYunits, Double rotation) { | |
30 | super(name, visibility, open, atomAuthor, atomLink, address, xalAddressDetails, phoneNumber, snippet, snippetMaxLines, description, abstractView, timePrimitive, styleUrl, styleSelectors, region, extendedData, color, drawOrder, icon); | |
31 | 31 | this.overlayX = overlayX; |
32 | 32 | this.overlayY = overlayY; |
33 | 33 | this.overlayXunits = overlayXunits; |
205 | 205 | } |
206 | 206 | |
207 | 207 | public void writeDelete(Kml kml) throws KmlException { |
208 | kml.println("<ScreenOverlay" + getIdAndTargetIdFormatted(kml) + "></>"); | |
208 | kml.println("<ScreenOverlay" + getIdAndTargetIdFormatted(kml) + "></ScreenOverlay>"); | |
209 | 209 | } |
210 | 210 | }⏎ |
30 | 30 | public void write(Kml kml) throws KmlException { |
31 | 31 | kml.println("<SimpleData name=\"" + name +"\">" + value + "</SimpleData>"); |
32 | 32 | } |
33 | ||
34 | public void writeDelete(Kml kml) throws KmlException { | |
35 | kml.println("<SimpleData" + getIdAndTargetIdFormatted(kml) + "></>"); | |
36 | } | |
37 | 33 | } |
44 | 44 | } |
45 | 45 | kml.println(-1, "</SimpleField>"); |
46 | 46 | } |
47 | ||
48 | public void writeDelete(Kml kml) throws KmlException { | |
49 | kml.println("<SimpleField" + getIdAndTargetIdFormatted(kml) + "></>"); | |
50 | } | |
51 | ||
52 | 47 | }⏎ |
89 | 89 | } |
90 | 90 | kml.println(-1, "</Style>"); |
91 | 91 | } |
92 | ||
93 | public void writeDelete(Kml kml) throws KmlException { | |
94 | kml.println("<Style" + getIdAndTargetIdFormatted(kml) + "></>"); | |
95 | } | |
96 | 92 | }⏎ |
20 | 20 | } |
21 | 21 | kml.println(-1, "</StyleMap>"); |
22 | 22 | } |
23 | ||
24 | public void writeDelete(Kml kml) throws KmlException { | |
25 | kml.println("<StyleMap" + getIdAndTargetIdFormatted(kml) + "></>"); | |
26 | } | |
27 | 23 | } |
37 | 37 | } |
38 | 38 | kml.println(-1, "</TimeSpan>"); |
39 | 39 | } |
40 | ||
41 | public void writeDelete(Kml kml) throws KmlException { | |
42 | kml.println("<TimeSpan" + getIdAndTargetIdFormatted(kml) + "></>"); | |
43 | } | |
44 | 40 | }⏎ |
24 | 24 | } |
25 | 25 | kml.println(-1, "</TimeStamp>"); |
26 | 26 | } |
27 | ||
28 | public void writeDelete(Kml kml) throws KmlException { | |
29 | kml.println("<TimeStamp" + getIdAndTargetIdFormatted(kml) + "></>"); | |
30 | } | |
31 | 27 | }⏎ |