/** * Creates a new KmlLayer object * * @param map GoogleMap object * @param stream InputStream containing KML file * @throws XmlPullParserException if file cannot be parsed */ public KmlLayer(GoogleMap map, InputStream stream, Context context) throws XmlPullParserException, IOException { if (stream == null) { throw new IllegalArgumentException("KML InputStream cannot be null"); } KmlRenderer mRenderer = new KmlRenderer(map, context); XmlPullParser xmlPullParser = createXmlParser(stream); KmlParser parser = new KmlParser(xmlPullParser); parser.parseKml(); stream.close(); mRenderer.storeKmlData(parser.getStyles(), parser.getStyleMaps(), parser.getPlacemarks(), parser.getContainers(), parser.getGroundOverlays()); storeRenderer(mRenderer); }