/** * Creates a new Geometry object (Created if "Point", "LineString", "Polygon" or * "MultiGeometry" tag is detected by the XmlPullParser) * * @param geometryType Type of geometry object to create */ private static Geometry createGeometry(XmlPullParser parser, String geometryType) throws IOException, XmlPullParserException { int eventType = parser.getEventType(); while (!(eventType == END_TAG && parser.getName().equals(geometryType))) { if (eventType == START_TAG) { if (parser.getName().equals("Point")) { return createPoint(parser); } else if (parser.getName().equals("LineString")) { return createLineString(parser); } else if (parser.getName().equals("Track")) { return createTrack(parser); } else if (parser.getName().equals("Polygon")) { return createPolygon(parser); } else if (parser.getName().equals("MultiGeometry")) { return createMultiGeometry(parser); } else if (parser.getName().equals("MultiTrack")) { return createMultiTrack(parser); } } eventType = parser.next(); } return null; }