Hi Javid,

Can you pls xplain wat this bit of ur code is doing:

SVGOMPathElement segno= (SVGOMPathElement)
svgDocument.getElementById(accidentsInfo[i].trim());

it's a little confusing, because I've point the Points for each circl to
be drawn in an arraylist...

ThankU

yasmin




> Here are some sample codes that could do something you are trying..
>
> /*
>      * Method to display the accidents data on the SVG map
>      */
>     public void displayAccidentsData()
>     {
>         this.getUpdateManager().getUpdateRunnableQueue().invokeLater(new
> Runnable() {
>             public void run() {
>                 if (isAccident)
>                 {
>                     removeAllChild(accidentsSet);
>                     isAccident = false;
>                 }
>                 else {
>
>                     for(int i=0 ; i < accidentsInfo.length;i=i+1)
>                     {
>
>                         SVGOMPathElement segno= (SVGOMPathElement)
> svgDocument.getElementById(accidentsInfo[i].trim());
>                         if (segno==null)
>                         {
>                             continue;
>                         }
>                         String d = segno.getAttributeNS(null, "d");  //get
> the d coordinate of the accident
>                         String[] coordinates = d.split(" ");
>                         String x = coordinates[0].substring(1);
>                         String y = coordinates[1];
>
>                         SVGOMRectElement temp= (SVGOMRectElement)
> svgDocument.createElementNS(svgNS, "rect");
>                         temp.setAttributeNS(null, "x", String.valueOf(
> Double.parseDouble(x)-6));
>                         temp.setAttributeNS(null, "y", String.valueOf(
> Double.parseDouble(y) -6));
>                         temp.setAttributeNS(null, "width", "12");
>                         temp.setAttributeNS(null, "height", "12");
>
>                         temp.setAttributeNS(null, "stroke", "black");
>                         temp.setAttributeNS(null, "stroke-width", "2");
>                         temp.setAttributeNS(null, "opacity", "1");
>                         temp.setAttributeNS(null, "fill", "lightgreen");
>                         temp.addEventListener("click", new
> AccidentAction(),
> false);
>                         accidentsSet.appendChild(temp);
>                     }
>                     isAccident = true;
>                 }
>             }
>         });
>     }
>
> And you can create event listener class like this
> Class AccidentAction implements EventListener {
>         public void handleEvent(Event e) {
>             Element elt = (Element) evt.getCurrentTarget();
>             if (evt.getType() == "click")
>             {
>                  elt.setAttributeNS(null, "opacity", "0.5");
>             }
>        }
>   }
>
>
> Thanks,
> Javid
>
>
>
> On 2/27/06, Bishop, Michael W. CONTR J9C880 <[EMAIL PROTECTED]>
> wrote:
>>
>> Well, now you can attach an event listener.  Now you need to figure out
>> what you want to do with it.  When the mouse is pressed, you can do
>> anything...show a dialog box, etc.
>>
>> Michael Bishop
>>
>> -----Original Message-----
>> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
>> Sent: Monday, February 27, 2006 3:31 PM
>> To: [email protected]
>> Subject: RE: Red Spots
>>
>>
>> ...So, in the:
>> e.setAttributeNS(null, "r",  "5");
>> I can add all the relevant information about the accident?
>>
>> thx
>>
>> yasmin
>>
>>
>>
>> > Hi Yasmin,
>> >
>> > [EMAIL PROTECTED] wrote on 02/27/2006 01:26:07 PM:
>> >
>> >> yes, it does but how does that work?
>> >
>> >    Assuming there is no 'obvious' dynamic content in the
>> > SVG file already (script, event handlers, etc).  You need
>> > to tell the canvas to treat your document as dynamic:
>> >
>> >         canvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC);
>> >
>> >         // Do what ever you curently do to load your SVG and get
>> >         // a list of points for circles.
>> >         // Once the document is loaded (onload callback or
>> >         // wait for first rendering):
>> >
>> > canvas.getUpdateManager().getUpdateRunnableQueue().
>> >     invokeLater(new Runnable() {
>> >         public void run() {
>> >         SVGDocuemnt doc = canvas.getSVGDocument();
>> >         String SVGNS = "http://www.w3.org/2000/svg";; // SVG namespace
>> >      Iterator i = ...; // get list of points
>> >         Element g = doc.getElementById("circleGroup");
>> >      while (i.hasNext()) {
>> >         Point2D pt2d = i.next();
>> >         Element e = doc.createElementNS(SVGNS, "circle");
>> >         e.setAttributeNS(null, "cx",  ""+pt2d.getX());
>> >         e.setAttributeNS(null, "cy",  ""+pt2d.getY());
>> >         e.setAttributeNS(null, "r",  "5");
>> >         g.appendChild(g);
>> >         }
>> >     });
>> >
>> >>
>> >>
>> >>
>> >> > Well you're not adding them to a document in the file system, but
>> the
>> >> > JSVGCanvas certainly has a reference to an SVGDocument in memory,
>> > right?
>> >> >
>> >> > Michael Bishop
>> >> >
>> >> > -----Original Message-----
>> >> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
>> >> > Sent: Monday, February 27, 2006 1:18 PM
>> >> > To: [email protected]
>> >> > Subject: RE: Red Spots
>> >> >
>> >> > Hi there!
>> >> >
>> >> > I can't make the spots part of the document, because they are drawn
>> >> > after
>> >> > getting the information from a database (Accident database)  ...is
>> > there
>> >> > a
>> >> > way when a mouse clicks on any of the spots to activate an event?
>> >> >
>> >> > ThankU
>> >> >
>> >> > yasmin
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >> Hi Yasmin,
>> >> >>
>> >> >> [EMAIL PROTECTED] wrote on 02/27/2006 12:42:09 PM:
>> >> >>
>> >> >>> ...I've drawn the circles on the canvas, they are not part of my
>> svg
>> >> >>> document such that the actual file is not altered, the the
>> circles
>> >> > are
>> >> >> not
>> >> >>> individual elements - any ideas :(
>> >> >>
>> >> >>    Yes, make them part of your document ;)
>> >> >>    Really this is the simplest thing.  If you want to minimize the
>> >> >> 'impact' on the original document put all the circle in a special
>> >> > group
>> >> >> (probably dynamically created) so you can just delete the group to
>> >> > 'reset'
>> >> >> the document.  This way you can let the SVG engine do all the
>> event
>> >> >> tracking.
>> >> >>
>> >> >>    You could add an event listener (mouse move or the like) to the
>> >> >> rootmost SVG element and you will get notified of any mouse event
>> >> >> over any element in the document.  You could then manually check
>> > these
>> >> >> points against your circles.  But this seems like a bunch of extra
>> >> > work
>> >> >> for nothing.
>> >> >>
>> >> >>>
>> >> >>> yasmin
>> >> >>>
>> >> >>>
>> >> >>> > Hello,
>> >> >>> >      For events, I attach an event to the entire document.  For
>> >> >>> > individual elements, this may work.  You'll need to get your
>> > circle
>> >> > as
>> >> >>> > an org.w3c.dom.Element.
>> >> >>> >
>> >> >>> > EventTarget eventTarget = (EventTarget) yourElement;
>> >> >>> > eventTarget.addEventListener(SVGConstants.SVG_EVENT_MOUSEDOWN,
>> new
>> >> >>> > YourEventListener(), false);
>> >> >>> >
>> >> >>> > Michael Bishop
>> >> >>> >
>> >> >>> > -----Original Message-----
>> >> >>> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
>> >> >>> > Sent: Monday, February 27, 2006 12:13 PM
>> >> >>> > To: [email protected]
>> >> >>> > Subject: Red Spots
>> >> >>> >
>> >> >>> >
>> >> >>> > Hi Michael Bishop,
>> >> >>> >
>> >> >>> > I have been beavering on my project and have successfully
>> > converted
>> >> > my
>> >> >>> > screen coordinates to documents and can interact with my
>> database
>> >> > to
>> >> >>> > retrieve the information for the current view and show red
>> spots
>> > on
>> >> >> the
>> >> >>> > areas where accidents have happend on the map ...now I need to
>> > make
>> >> >> the
>> >> >>> > red spots active so when a user clicks on a red spot the
>> relevant
>> >> >>> > information about that particular accident is displayed ...i
>> > simply
>> >> >> used
>> >> >>> > the following code to create the red spot:
>> >> >>> >
>> >> >>> > Graphics spot = canvas.getGraphics();
>> >> >>> >                       spot.setColor(Color.RED);
>> >> >>> >                       spot.fillOval(x,y,22,22);
>> >> >>> >                       spot.dispose();
>> >> >>> >
>> >> >>> > but i cant assign an ActionEvent to the spot ...Any ideas?
>> >> >>> >
>> >> >>> > Many thanks in advance :)
>> >> >>> >
>> >> >>> > Yasmin
>> >> >>> >
>> >> >>> >
>> >> >>> >
>> >> >>> >
>> >> >>> >> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
>> >> >>> >> <HTML>
>> >> >>> >> <HEAD>
>> >> >>> >> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;
>> >> >>> > charset=iso-8859-1">
>> >> >>> >>
>> >> >>> >>
>> >> >>> >> <META NAME="Generator" CONTENT="MS Exchange Server version
>> >> >>> > 6.5.7226.0">
>> >> >>> >> <TITLE>RE: Coordinates</TITLE>
>> >> >>> >> </HEAD>
>> >> >>> >> <BODY>
>> >> >>> >> <DIV id=idOWAReplyText99836 dir=ltr>
>> >> >>> >> <DIV dir=ltr><FONT face=Arial color=#000000 size=2>Element
>> > element
>> >> >>
>> >> >>> >>
>> >> >
>> svgDocument.createElement(SVGConstants.SVG_CIRCLE_TAG);</FONT></DIV>
>> >> >>> >> <DIV dir=ltr><FONT face=Arial
>> >> >>> >> size=2>element.setAttribute(SVGConstants.SVG_CX_ATTR,
>> >> >>> >> xPosition);</FONT></DIV>
>> >> >>> >> <DIV dir=ltr><FONT face=Arial
>> >> >>> >> size=2>element.setAttribute(SVGConstants.SVG_CY_ATTR,
>> >> >>> >> yPosition);</FONT></DIV>
>> >> >>> >> <DIV dir=ltr><FONT face=Arial
>> >> >>> >> size=2>element.setAttribute(SVGConstants.SVG_R_ATTR,
>> >> >>> > radius);</FONT></DIV>
>> >> >>> >> <DIV dir=ltr><FONT face=Arial
>> >> >>> >> size=2>element.setAttribute(SVGConstants.SVG_FILL_ATTR,
>> >> >>> >> "red");</FONT></DIV>
>> >> >>> >> <DIV dir=ltr><FONT face=Arial
>> >> >>> >>
>> >> > size=2>svgDocument.getDocumentElement.append(element);</FONT></DIV>
>> >> >>> >> <DIV dir=ltr><FONT face=Arial size=2></FONT>&nbsp;</DIV>
>> >> >>> >> <DIV dir=ltr><FONT face=Arial size=2>Use code completion or
>> the
>> >> > Batik
>> >> >>> >> Javadoc.&nbsp; Most of those SVGConstants references are
>> probably
>> >> >>> >> wrong.</FONT></DIV>
>> >> >>> >> <DIV dir=ltr><FONT face=Arial size=2></FONT>&nbsp;</DIV>
>> >> >>> >> <DIV dir=ltr><FONT face=Arial size=2>Michael
>> >> >> Bishop</FONT></DIV></DIV>
>> >> >>> >> <DIV dir=ltr><BR>
>> >> >>> >> <HR tabIndex=-1>
>> >> >>> >> <FONT face=Tahoma size=2><B>From:</B> [EMAIL PROTECTED]
>> >> >>> >> [mailto:[EMAIL PROTECTED]<BR><B>Sent:</B> Sun 2/19/2006
>> >> > 3:07
>> >> >>> >> PM<BR><B>To:</B>
>> >> >> [email protected]<BR><B>Subject:</B>
>> >> >>> > RE:
>> >> >>> >> Coordinates<BR></FONT><BR></DIV>
>> >> >>> >> <DIV>
>> >> >>> >> <P><FONT size=2>me again!<BR><BR>...I think I don't need to
>> >> > convert
>> >> >>> > back
>> >> >>> >> to
>> >> >>> >> screen coordinates I should be<BR>able to use the document
>> >> >>> > coordinates,
>> >> >>> >> but how
>> >> >>> >> can I draw a red-spot<BR>(filled circle) and a given location
>> on
>> >> > the
>> >> >>> >> canvas?<BR><BR>ThankU in advance<BR><BR>yasmin<BR><BR>&gt;
>> >> >>> > &lt;!DOCTYPE
>> >> >>> >> HTML
>> >> >>> >> PUBLIC "-//W3C//DTD HTML 3.2//EN"&gt;<BR>&gt;
>> > &lt;HTML&gt;<BR>&gt;
>> >> >>> >> &lt;HEAD&gt;<BR>&gt; &lt;META HTTP-EQUIV="Content-Type"
>> >> >>> >> CONTENT="text/html;
>> >> >>> >> charset=iso-8859-1"&gt;<BR>&gt;<BR>&gt;<BR>&gt; &lt;META
>> >> >>> > NAME="Generator"
>> >> >>> >> CONTENT="MS Exchange Server version 6.5.7226.0"&gt;<BR>&gt;
>> >> >>> >> &lt;TITLE&gt;Coordinates&lt;/TITLE&gt;<BR>&gt;
>> >> > &lt;/HEAD&gt;<BR>&gt;
>> >> >>> >> &lt;BODY&gt;<BR>&gt; &lt;DIV id=idOWAReplyText8269
>> >> >> dir=ltr&gt;<BR>&gt;
>> >> >>> >> &lt;DIV
>> >> >>> >> dir=ltr&gt;&lt;FONT face=Arial color=#000000 size=2&gt;Not
>> sure;
>> >> >>> > haven't
>> >> >>> >> done<BR>&gt; it in<BR>&gt; reverse.&amp;nbsp; There is a
>> method
>> >> > for
>> >> >> an
>> >> >>> >> SVGLocatable called getScreenCTM<BR>&gt; that<BR>&gt; may be
>> of
>> >> >>> >> use.&lt;/FONT&gt;&lt;/DIV&gt;<BR>&gt; &lt;DIV
>> dir=ltr&gt;&lt;FONT
>> >> >>> >> face=Arial
>> >> >>> >> size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;<BR>&gt; &lt;DIV
>> >> >>> >> dir=ltr&gt;&lt;FONT face=Arial size=2&gt;Michael
>> >> >>> >> Bishop&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;<BR>&gt; &lt;DIV
>> >> >>> >> dir=ltr&gt;&lt;BR&gt;<BR>&gt; &lt;HR tabIndex=-1&gt;<BR>&gt;
>> >> > &lt;FONT
>> >> >>> >> face=Tahoma size=2&gt;&lt;B&gt;From:&lt;/B&gt;
>> >> >>> >> [EMAIL PROTECTED]<BR>&gt;
>> >> >>> >> [<A
>> >> >>> >>
>> >> >>> >
>> >> >>
>> >> >
>> >
>> href="mailto:[EMAIL PROTECTED]">mailto:[EMAIL PROTECTED]</A>
>> >> >>> > ]&lt;BR&gt;&lt;B&gt;Sent:&lt;/B&gt;
>> >> >>> >> Sun 2/19/2006 1:08<BR>&gt; PM&lt;BR&gt;&lt;B&gt;To:&lt;/B&gt;
>> >> >>> >>
>> >> >>> >
>> >> >>
>> >> >
>> >
>> [email protected]&lt;BR&gt;&lt;B&gt;Subject:&lt;/B&gt;<
>> >> >>> > BR>&gt;
>> >> >>> >>
>> Coordinates&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/DIV&gt;<BR>&gt;
>> >> >>> >> &lt;DIV&gt;<BR>&gt; &lt;P&gt;&lt;FONT size=2&gt;Hi Michael
>> >> >>> >> Bishop,&lt;BR&gt;&lt;BR&gt;...I've converted my screen<BR>&gt;
>> >> >>> > coordinates
>> >> >>> >> to my
>> >> >>> >> document coordinates - now&lt;BR&gt;I'm trying to
>> convert<BR>&gt;
>> >> >>> >> document<BR>&gt; coordinates to screen coordinate so that
>> >> >>> > at&lt;BR&gt;that
>> >> >>> >> point
>> >> >>> >> on the map, I<BR>&gt; can draw<BR>&gt; a red_spot on the
>> >> > canvas...any
>> >> >>> >> ideas?&lt;BR&gt;&lt;BR&gt;ThankU in<BR>&gt;
>> >> >>> >>
>> >> >>> >
>> >> >>
>> >> >
>> >
>> advance&lt;BR&gt;&lt;BR&gt;yasmin&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;---------
>> >> >>> >
>> >> >>
>> >> >
>> >
>> ------------------------------------------------------------&lt;BR&gt;To
>> >> >>> > <BR>&gt;
>> >> >>> >> unsubscribe, e-mail:
>> >> >>> >>
>> >> > [EMAIL PROTECTED]&lt;BR&gt;For<BR>&gt;
>> >> >>> >> additional
>> >> >>> >> commands, e-mail:<BR>&gt;
>> >> >>> >>
>> >> >>> >
>> >> >>
>> >> >
>> >
>> [EMAIL PROTECTED]&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
>> >> >>> > &lt;/DIV&gt;<BR>&gt;<BR>&gt;
>> >> >>> >> &lt;/BODY&gt;<BR>&gt;
>> >> >>> >>
>> >> >>> >
>> >> >>
>> >> >
>> >
>> &lt;/HTML&gt;<BR><BR><BR><BR>-------------------------------------------
>> >> >>> > --------------------------<BR>To
>> >> >>> >> unsubscribe, e-mail:
>> >> >>> > [EMAIL PROTECTED]<BR>For
>> >> >>> >> additional commands, e-mail:
>> >> >>> >> [EMAIL PROTECTED]<BR></FONT></P></DIV>
>> >> >>> >>
>> >> >>> >> </BODY>
>> >> >>> >> </HTML>
>> >> >>> >
>> >> >>> >
>> >> >>> >
>> >> >>> >
>> >> >
>> ---------------------------------------------------------------------
>> >> >>> > To unsubscribe, e-mail:
>> >> > [EMAIL PROTECTED]
>> >> >>> > For additional commands, e-mail:
>> >> >> [EMAIL PROTECTED]
>> >> >>> >
>> >> >>> >
>> >> >
>> ---------------------------------------------------------------------
>> >> >>> > To unsubscribe, e-mail:
>> >> > [EMAIL PROTECTED]
>> >> >>> > For additional commands, e-mail:
>> >> >> [EMAIL PROTECTED]
>> >> >>> >
>> >> >>> >
>> >> >>> >
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> > ---------------------------------------------------------------------
>> >> >>> To unsubscribe, e-mail:
>> >> > [EMAIL PROTECTED]
>> >> >>> For additional commands, e-mail:
>> >> > [EMAIL PROTECTED]
>> >> >>>
>> >> >>
>> >> >>
>> >> >>
>> ---------------------------------------------------------------------
>> >> >> To unsubscribe, e-mail:
>> > [EMAIL PROTECTED]
>> >> >> For additional commands, e-mail:
>> >> > [EMAIL PROTECTED]
>> >> >>
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> >
>> ---------------------------------------------------------------------
>> >> > To unsubscribe, e-mail:
>> [EMAIL PROTECTED]
>> >> > For additional commands, e-mail:
>> > [EMAIL PROTECTED]
>> >> >
>> >> >
>> ---------------------------------------------------------------------
>> >> > To unsubscribe, e-mail:
>> [EMAIL PROTECTED]
>> >> > For additional commands, e-mail:
>> > [EMAIL PROTECTED]
>> >> >
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail:
>> [EMAIL PROTECTED]
>> >> For additional commands, e-mail:
>> [EMAIL PROTECTED]
>> >>
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > For additional commands, e-mail:
>> [EMAIL PROTECTED]
>> >
>> >
>> >
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to