Thanks a lot, now it worked :) !
On Mar 16, 7:21 pm, Amit Pal <[email protected]> wrote:
> that is wrong actually... you are using the namespace qualifier 'kml' to
> resolve 'KmlPolygon' which I see is not in your KML file .
>
> it should be this.
>
>
>
> > this.x.kml::Polygon
> On Mon, Mar 16, 2009 at 10:34 AM, cyrt <[email protected]> wrote:
>
> > I changed it to this:
>
> > if (ParsingTools.nullCheck(this.x.kml::KmlPolygon)) {
> > this._geometry = new KmlPolygon(this.x.kml::KmlPolygon);
> > }
>
> > On Mar 16, 5:23 pm, Amit Pal <[email protected]> wrote:
> > > Are your changes like this in Placemark.as and still geometry is NULL?:
>
> > > this._geometry = new KmlPolygon(this.x.kml::Polygon)
>
> > > -Amit
>
> > > On Mon, Mar 16, 2009 at 8:21 AM, cyrt <[email protected]> wrote:
>
> > > > Since I renamed Polygon to KmlPolygon I also had to change some code
> > > > in the Placemark class that's why the else part was executed.
> > > > Now the Placemark is recognized but its geometry is null.
>
> > > > Is this due to the changed class name, or do you have any idea whats
> > > > wrong?
>
> > > > That's the trace output: "Placemark: Placemark: geometry: null"
>
> > > > On Mar 16, 12:32 pm, cyrt <[email protected]> wrote:
> > > > > That's the output:
>
> > > > > Polygon: outerBoundaryIs: OuterBoundaryIs: Boundary Common:
> > > > > linearRing: LinearRing: Geometry: KmlObject with id: null
> > > > > coordinatesCoords
>
> > > > > On Mar 13, 10:35 pm, pamela fox <[email protected]> wrote:
>
> > > > > > 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
-~----------~----~----~----~------~----~------~--~---