Beispiel #1
0
  public void testParseCompanyArea() {
    String xmlBody =
        "<kml xmlns=\"http://www.opengis.net/kml/2.2\" xmlns:gx=\"http://www.google.com/kml/ext/2.2\" xmlns:kml=\"http://www.opengis.net/kml/2.2\" xmlns:atom=\"http://www.w3.org/2005/Atom\">\r\n"
            + "<Folder>\r\n"
            + "			<name>Mjardevi</name>\r\n"
            + "			<open>1</open>\r\n"
            + "			<Folder>\r\n"
            + "				<name>Parkering</name>\r\n"
            + "				<open>1</open>\r\n"
            + "				<Style>\r\n"
            + "					<ListStyle>\r\n"
            + "						<listItemType>check</listItemType>\r\n"
            + "						<bgColor>00ffffff</bgColor>\r\n"
            + "						<maxSnippetLines>2</maxSnippetLines>\r\n"
            + "					</ListStyle>\r\n"
            + "				</Style>\r\n"
            + "				<Placemark>\r\n"
            + "					<name>Gästparkering</name>\r\n"
            + "					<description>Enkel gästparkering</description>\r\n"
            + "					<styleUrl>#m_ylw-pushpin00</styleUrl>\r\n"
            + "					<Polygon>\r\n"
            + "						<tessellate>1</tessellate>\r\n"
            + "						<outerBoundaryIs>\r\n"
            + "							<LinearRing>\r\n"
            + "								<coordinates>\r\n"
            + "									15.55596143314125,58.39746581469188,0 15.5553913538694,58.39856164094756,0 15.55530072203812,58.39855030647441,0 15.5558711203315,58.39744114210799,0 15.55596143314125,58.39746581469188,0 \r\n"
            + "								</coordinates>\r\n"
            + "							</LinearRing>\r\n"
            + "						</outerBoundaryIs>\r\n"
            + "					</Polygon>\r\n"
            + "				</Placemark>\r\n"
            + "			</Folder>\r\n"
            + "			<Folder>\r\n"
            + "				<name>Houses</name>\r\n"
            + "				<Placemark>\r\n"
            + "					<name>KB</name>\r\n"
            + "					<styleUrl>#m_ylw-pushpin1</styleUrl>\r\n"
            + "					<Polygon>\r\n"
            + "						<tessellate>1</tessellate>\r\n"
            + "						<outerBoundaryIs>\r\n"
            + "							<LinearRing>\r\n"
            + "								<coordinates>\r\n"
            + "									15.55668214920198,58.39768692967193,0 15.556795061081,58.39761666339918,0 15.55671470722432,58.39758486460966,0 15.55679305101447,58.39754262601683,0 15.5566952877097,58.39752021347346,0 15.55685979988558,58.39739865154839,0 15.55692186407407,58.39740744522897,0 15.55717430140551,58.39727134236146,0 15.55736187612139,58.39734862387047,0 15.55682494482019,58.39774140457978,0 15.55668214920198,58.39768692967193,0 \r\n"
            + "								</coordinates>\r\n"
            + "							</LinearRing>\r\n"
            + "						</outerBoundaryIs>\r\n"
            + "					</Polygon>\r\n"
            + "				</Placemark>\r\n"
            + "			</Folder>\r\n"
            + "		</Folder>\r\n"
            + ""
            + "";
    KMLparser kmlParser = new KMLparser(true);

    try {
      parser.setInput(new StringReader(xmlBody));
      int eventType = parser.getEventType();
      while (eventType != XmlPullParser.START_TAG) {
        eventType = parser.next();
      }
      assertTrue("kml".equalsIgnoreCase(parser.getName()));
      eventType = parser.next();
      while (eventType != XmlPullParser.START_TAG) {
        eventType = parser.next();
      }
      assertTrue("getName() = " + parser.getName(), "Folder".equalsIgnoreCase(parser.getName()));
      eventType = parser.next();
      CompanyArea ca = kmlParser.parseCompanyArea(parser);
      assertNotNull(ca);
      assertTrue("Mjardevi".equals(ca.getName()));
      Iterator<PlacemarkerType> e = ca.getPlacemarkerTypes();
      assertTrue(e.hasNext());
      PlacemarkerType pmt = e.next();
      assertNotNull(pmt);
      assertTrue("Parkering".equals(pmt.getName()));
      assertTrue(e.hasNext());
      pmt = e.next();
      assertNotNull(pmt);
      assertTrue("Houses".equals(pmt.getName()));
      assertFalse(e.hasNext());
    } catch (Exception e) {
      fail();
    }
  }