Hi cyrt- In the else, if you trace(placemark.geometry), what does it show?
- pamela On Fri, Mar 13, 2009 at 5:54 AM, cyrt <[email protected]> wrote: > > by now creating groundoverlays and simple placemarks out of a kml file > works fine, but it doesn't work for polygons. Again I compared my code > to the one from the KMLParser example, but I could not find any > difference (neither in the kml nor in the code). > > The placemark from the kml below is recognized as a placemark, but the > following check if it is a polygon fails and therefore always the code > in the else-part is executed. Do you have any idea what the problem > could be? > > > KML: > ----------------- > > <Placemark> > <name>poly</name> > <styleUrl>#msn_ylw-pushpin</styleUrl> > <Polygon> > <tessellate>1</tessellate> > <outerBoundaryIs> > <LinearRing> > <coordinates>8.07250406876639,40.97693126116689,0 > 8.347650386957497,38.87420434317478,0 > 9.523781487367955,39.01197208941193,0 > 9.786842963806599,41.08001709567597,0 > 8.07250406876639,40.97693126116689,0</coordinates> > </LinearRing> > </outerBoundaryIs> > </Polygon> > </Placemark> > > Source Code > ----------------- > > var placemark:Placemark = > com.google.maps.extras.xmlparsers.kml.Placemark::Placemark(feature); > if(placemark.geometry != null) > { > if (placemark.geometry is > com.google.maps.extras.xmlparsers.kml.Point::Point) > { > trace("POINT"); > var point: com.google.maps.extras.xmlparsers.kml.Point::Point = > com.google.maps.extras.xmlparsers.kml.Point::Point > (placemark.geometry); > } > else if (placemark.geometry is LineString) > { > trace("LINESTRING"); > var lineString:LineString = LineString(placemark.geometry); > obj.mapObject = new Polyline(getCoordinatesLatLngs > (lineString.coordinates)); > } > else if (placemark.geometry is LinearRing) > { > trace("LINEARRING"); > var linearRing:LinearRing = LinearRing(placemark.geometry); > obj.mapObject = new Polyline(getCoordinatesLatLngs > (linearRing.coordinates)); > } > else if (placemark.geometry is KmlPolygon) > { > trace("POLYGON"); > var kmlpolygon:KmlPolygon = KmlPolygon(placemark.geometry); > obj.mapObject = Polygon(getCoordinatesLatLngs > (kmlpolygon.outerBoundaryIs.linearRing.coordinates)); > } > else > { > trace("else.."); > } > } > > > On Mar 10, 11:20 am, cyrt <[email protected]> wrote: >> Ok, sounds good, thanks again! >> >> Regarding the zip libraries: I've solved the problem in the meantime >> by using nochump. >> >> On Mar 10, 5:12 am, pamela fox <[email protected]> wrote: >> >> > Hi cyrt- >> >> > I haven't used either of those libraries. I'll ask around to see if >> > other Flex developers have. >> >> > The opengis namespace was created after control of KML was given over >> > to OGC, the standards body. Both those namespaces refer to KML 2.2, so >> > the tags supported should be the same in both. >> >> > - pamela >> >> > On Tue, Mar 10, 2009 at 3:09 AM, cyrt <[email protected]> wrote: >> >> > > thanks a lot (also for your help with my previous problems!) >> >> > > when reading a kml file I just replace the opengis with >> > > earth.google.com namespace. So far everything works fine, but are >> > > there any significant differences between these namespaces that could >> > > lead to any problems? >> >> > > Now that I am able to read KML files, I have to deal with another >> > > issue: >> > > These KML files are stored in a KMZ archive. As far as I know KMZ >> > > files are basically similar to ZIP files. Browsing the web I came >> > > across FZIP (http://codeazur.com.br/lab/fzip/) and another ZIP >> > > Library (http://www.nochump.com/blog/?p=15). >> >> > > Can you recommend one of these libraries for my purpose, or do know a >> > > better way to get this done? >> >> > > On Mar 9, 12:54 am, pamela fox <[email protected]> wrote: >> > >> Hi cyrt- >> >> > >> The problem is that the KMLParser uses the "earth.google.com" >> > >> namespace instead of the "opengis.net" namespace. If I change your XML >> > >> to use the old namespace, the parser works. I haven't come up with an >> > >> elegant system for checking both namespaces. >> >> > >> <kml xmlns="http://earth.google.com/kml/2.2" >> > >> xmlns:gx="http://www.google.com/kml/ext/2.2" >> > >> xmlns:atom="http://www.w3.org/2005/Atom"> >> >> > >> - pamela >> >> > >> On Fri, Mar 6, 2009 at 2:52 AM, cyrt <[email protected]> wrote: >> >> > >> > Hi! >> >> > >> > I'd like to use the KMLParser, but the kml.feature is always null. The >> > >> > code is exactly the same as in the example, that can be found here >> > >> >http://gmaps-utility-library-flash.googlecode.com/svn/trunk/examples/... >> > >> > . >> >> > >> > This is my KML file: >> >> > >> > <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"> >> > >> > <GroundOverlay> >> > >> > <name>ovalay</name> >> > >> > <Icon> >> > >> > <href>files/2.jpg</href> >> > >> > <viewBoundScale>0.75</viewBoundScale> >> > >> > </Icon> >> > >> > <LatLonBox> >> > >> > <north>-13.15204151432014</north> >> > >> > <south>-13.17376840745433</south> >> > >> > <east>-72.5013090207886</east> >> > >> > <west>-72.53105986935958</west> >> > >> > </LatLonBox> >> > >> > </GroundOverlay> >> > >> > </kml> >> >> > >> > And this is the code: >> >> > >> > public function load(fileName:String):void >> > >> > { >> > >> > var loader:URLLoader = new URLLoader(); >> > >> > loader.addEventListener(Event.COMPLETE, >> > >> > loadKML); >> > >> > loader.load(new URLRequest(fileName)); >> >> > >> > } >> >> > >> > private function loadKML(event:Event):void >> > >> > { >> >> > >> > var kml:Kml22 = new Kml22(event.target.data); >> > >> > var rootFeature:Feature = kml.feature; >> >> > >> > kmlObj = new Object(); >> >> > >> > if(kml.feature == null) >> > >> > { >> > >> > trace("KML == NULL"); >> > >> > } >> >> > >> > kmlObj.name = rootFeature.name; >> > >> > } > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Maps API For Flash" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/google-maps-api-for-flash?hl=en -~----------~----~----~----~------~----~------~--~---
