/** * Convert a string coordinate from a string into a LatLngAlt object * * @param coordinateString coordinate string to convert from * @return LatLngAlt object created from given coordinate string */ private static LatLngAlt convertToLatLngAlt(String coordinateString) { return convertToLatLngAlt(coordinateString, LAT_LNG_ALT_SEPARATOR); }
/** * Convert a string of coordinates into an array of LatLngAlts * * @param coordinatesString coordinates string to convert from * @return array of LatLngAlt objects created from the given coordinate string array */ private static ArrayList<LatLngAlt> convertToLatLngAltArray(String coordinatesString) { ArrayList<LatLngAlt> latLngAltsArray = new ArrayList<LatLngAlt>(); // Need to trim to avoid whitespace around the coordinates such as tabs String[] coordinates = coordinatesString.trim().split("(\\s+)"); for (String coordinate : coordinates) { latLngAltsArray.add(convertToLatLngAlt(coordinate)); } return latLngAltsArray; }
/** * Creates a new KmlPoint object * * @return KmlPoint object */ private static KmlPoint createPoint(XmlPullParser parser) throws XmlPullParserException, IOException { LatLngAlt latLngAlt = null; int eventType = parser.getEventType(); while (!(eventType == END_TAG && parser.getName().equals("Point"))) { if (eventType == START_TAG && parser.getName().equals("coordinates")) { latLngAlt = convertToLatLngAlt(parser.nextText()); } eventType = parser.next(); } return new KmlPoint(latLngAlt.latLng, latLngAlt.altitude); }
String coordinateString = parser.nextText(); LatLngAlt latLngAlt = convertToLatLngAlt(coordinateString, " "); latLngs.add(latLngAlt.latLng); if (latLngAlt.altitude != null) {