Ejemplo n.º 1
0
        /*
         * insert a trip into trippool and remove the trip at the same index as well as the one after ( this is used by join )
         */
        public String insert(String name, IKmlFolder trip, String[] att, IKmlStyle sty)
        {
            de_highlight();
            int        index = int.Parse(name.Split('_')[1]);
            String     style = "";
            IKmlFolder temp1 = getByName("Trip_" + index);
            IKmlFolder temp2 = getByName("Trip_" + (index + 1));

            IKmlObjectList points = temp1.getFeatures().getChildNodes();

            for (int ii = 0; ii != points.getLength(); ii++)
            {
                IKmlPlacemark point = (IKmlPlacemark)points.item(ii);
                trip.getFeatures().appendChild(point);
                if (ii == 0)
                {
                    style = point.getComputedStyle().getIconStyle().getColor().get();
                }
            }
            points = temp2.getFeatures().getChildNodes();

            IKmlStyleMap sm        = ge.createStyleMap("");
            IKmlStyle    normal    = mkStyle(style, @"http://maps.google.com/mapfiles/kml/paddle/wht-blank.png", (float)0.3);
            IKmlStyle    highlight = mkStyle(style, @"http://maps.google.com/mapfiles/kml/paddle/wht-blank.png", (float)0.4);

            sm.setNormalStyle(normal);
            sm.setHighlightStyle(highlight);
            for (int ii = 0; ii != points.getLength(); ii++)
            {
                IKmlPlacemark point = (IKmlPlacemark)points.item(ii);


                if (ii == 0)
                {
                    _style = point.getComputedStyle().getIconStyle().getColor().get();
                }
                if (point.getGeometry().getType() != "KmlPoint")
                {
                    point.getComputedStyle().getLineStyle().setWidth((float)4);
                    point.getComputedStyle().getLineStyle().getColor().set(style);
                }
                else
                {
                    point.setStyleSelector(sm);
                }
                trip.getFeatures().appendChild(point);
            }

            _core.RemoveAt(index - 1);
            // _attr.RemoveAt(index - 1);
            // removeKMLTrip(index.ToString());

            _core.RemoveAt(index - 1);
            //_attr.RemoveAt(index - 1);
            // removeKMLTrip(index.ToString());

            _core.Insert(index - 1, trip);
            // _attr.Insert(index - 1, att);
            // addAtPosition(trip, index - 1);

            return(_style);
        }
Ejemplo n.º 2
0
        public IKmlFolder[] split(int index, IKmlFolder raw, IKmlPlacemark _point, String style)
        {
            IKmlFolder[] output = new IKmlFolder[2];

            String     col   = randomCol();
            IKmlFolder temp1 = ge.createFolder("");
            IKmlFolder temp2 = ge.createFolder("");

            temp1.setName("Trip_" + (index).ToString());
            temp2.setName("Trip_" + (index + 1).ToString());

            int            sw     = 0;
            IKmlObjectList points = raw.getFeatures().getChildNodes();

            for (int i = 0; i != points.getLength(); i++)
            {
                IKmlPlacemark point = (IKmlPlacemark)points.item(i);
                if (point.getName() == _point.getName())
                {
                    sw = 1;
                }
                if (sw == 0)
                {
                    temp1.getFeatures().appendChild(point);
                }
                else
                {
                    IKmlStyleMap sm = ge.createStyleMap("");
                    if (style != null)
                    {
                        if (point.getGeometry().getType() != "KmlPoint")
                        {
                            IKmlStyle sty = ge.createStyle("");
                            sty.getLineStyle().setWidth((float)4);
                            sty.getLineStyle().getColor().set(style);
                            point.setStyleSelector(sty);
                        }
                        else
                        {
                            IKmlStyle normal    = mkStyle(style, @"http://maps.google.com/mapfiles/kml/paddle/wht-blank.png", (float)0.3);
                            IKmlStyle highlight = mkStyle(style, @"http://maps.google.com/mapfiles/kml/paddle/wht-blank.png", (float)0.4);
                            sm.setNormalStyle(normal);
                            sm.setHighlightStyle(highlight);
                            point.setStyleSelector(sm);
                        }
                    }
                    else
                    {
                        if (point.getGeometry().getType() != "KmlPoint")
                        {
                            IKmlStyle sty = ge.createStyle("");
                            sty.getLineStyle().setWidth((float)4);
                            sty.getLineStyle().getColor().set(col);
                            point.setStyleSelector(sty);
                        }
                        else
                        {
                            IKmlStyle normal    = mkStyle(col, @"http://maps.google.com/mapfiles/kml/paddle/wht-blank.png", (float)0.3);
                            IKmlStyle highlight = mkStyle(col, @"http://maps.google.com/mapfiles/kml/paddle/wht-blank.png", (float)0.4);
                            sm.setNormalStyle(normal);
                            sm.setHighlightStyle(highlight);
                            point.setStyleSelector(sm);
                        }
                    }
                    temp2.getFeatures().appendChild(point);
                }
            }
            output[0] = temp1;
            output[1] = temp2;
            return(output);
        }