[mapguide-users] window open

DYUTI dyuti152006 at yahoo.com
Tue Feb 24 00:21:59 EST 2009


hi....
thank u mark.....
i chose this route because i'm using mapguide maestro.can i use" popup
maptip with a link to window "in maestro? someone told me it can be used 
with studio only.

thanx& regards
dyuti

Mark Pendergraft wrote:
> 
> What you have looks pretty good, except that you will need to create a
> box that covers your point for the mgPolygon.
> 
> First you need to create a MgCoordinateCollection to populate a
> MgLinearRing, then you use $geometryFactory->CreatePolygon(mgLinearRing,
> nothing);
> 
> Take a look at this function.  It uses MgGeometryFactory, and a MgPoint
> to create a box that surrounds the point supplied.  The function returns
> a MgPolygon
> 
>     Private Function GetBoundingBox(ByVal geomFact As MgGeometryFactory,
> ByVal point As MgPoint) As MgPolygon
>         
>         Dim pgon As MgPolygon
>         Dim coordColl As New MgCoordinateCollection
>         coordColl.Add(geomFact.CreateCoordinateXY(point.Coordinate.GetX
> - 5, point.Coordinate.GetY + 5))
>         coordColl.Add(geomFact.CreateCoordinateXY(point.Coordinate.GetX
> + 5, point.Coordinate.GetY + 5))
>         coordColl.Add(geomFact.CreateCoordinateXY(point.Coordinate.GetX
> + 5, point.Coordinate.GetY - 5))
>         coordColl.Add(geomFact.CreateCoordinateXY(point.Coordinate.GetX
> - 5, point.Coordinate.GetY - 5))
>         coordColl.Add(geomFact.CreateCoordinateXY(point.Coordinate.GetX
> - 5, point.Coordinate.GetY + 5))
>         
>         Dim linRing As MgLinearRing =
> geomFact.CreateLinearRing(coordColl)
>         pgon = geomFact.CreatePolygon(linRing, Nothing)
>         
>         Return pgon
>         
>     End Function
> 
> You can create a MgPoint by doing the following:
> 
>             Dim geomFact As New MgGeometryFactory
>             Dim coord As MgCoordinate = geomFact.CreateCoordinateXY(X,
> Y)
> 
>             ' create the actual mggeometry
>             Dim point As MgPoint = geomFact.CreatePoint(coord)
> 
> 
> The LayerResourceId & schema can be obtained like so:
> 
>                 ' get the layer to search
>                 Dim layer as MgLayer =
> Map.GetLayers().GetItem("your_layer_name_here")
>                 
>                 ' Get the layer resource identifier
>                 Dim LayerResId As New
> MgResourceIdentifier(layer.GetFeatureSourceId())
> 
> 			 ' get the layer default schema
> 			 Dim layerSchema as string =
> layer.GetFeatureClassName
> 
> 
> As a side note.  Everytime you assign a value to the MgFeatureReader,
> you will need to close it immediately afterwards.  This has screwed me a
> few times.
> 
> After you get the point, you can use the MgFeatureReader to getString(),
> or getInteger(), etc.... to obtain the values that you need to pass to
> your pop-up window.
> 
> Out of curiosity, why did you choose to go this route instead of the
> pop-up MapTip with a link to your new window?  The only reason I have
> code like this in my map is so I can zoom to a point returned from
> Google Maps when the user enters an address into a search field.  I much
> prefer the simplicity of letting MapGuide do the grunt work.  ;)
> -Mark
> 
> 
> 
> 
> 
> -----Original Message-----
> From: mapguide-users-bounces at lists.osgeo.org
> [mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of DYUTI
> Sent: Thursday, February 19, 2009 11:03 PM
> To: mapguide-users at lists.osgeo.org
> Subject: RE: [mapguide-users] window open
> 
> 
> hi....
> 
>   thank u very much mark..
>  But i've still doubts in this .shall i use
> "
> $geometryFactory = new MgGeometryFactory();
> $mgPolygon = $geometryFactory->Create mgPolygon($gp.x,$gp.y);  "
> 
> to create mg polygons from the N/E coordinates.
> 
> Instead of "geom" u have used in vb coding shall i use this
> $mgPolygon.Then
> for getting  LayerResourceID & Schema shall i use coding or can i
> directly
> give that values..
> 
> 
> Thanks and regards
> 
> dyuti
> 
> 
> 
> Mark Pendergraft wrote:
>> 
>> In VB:
>> 
>> Dim geom As MgGeometry
>> Dim query As New MgFeatureQueryOptions()
>> query.SetSpatialFilter("Geometry", geom,
>> MgFeatureSpatialOperations.Intersects)
>> Dim fr as MgFeatureReader = FeatService.SelectFeatures(LayerResId,
>> "Default:Temp", query)
>> 
>> Note that geom is a mggeometry object used to query the layer.  It
> could
>> be a point, polygon, etc.
>> LayerResId refers to the MgResourceIdentifier for a specified layer
>> "Default:Temp" is the layer's schema name.
>> 
>> In your case, you will probably want to create a MgPolygon from the
>> point the user clicked.  Then you will use the layer containing the
>> points you want to display info about to get your LayerResId and
> default
>> schema.
>> 
>> -Mark
>> 
>> -----Original Message-----
>> From: mapguide-users-bounces at lists.osgeo.org
>> [mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of DYUTI
>> Sent: Wednesday, February 18, 2009 11:32 PM
>> To: mapguide-users at lists.osgeo.org
>> Subject: Re: [mapguide-users] window open
>> 
>> 
>> hi all.....
>>     any one plss tell me how to generate spatial filter. 
>> any suggestions will be appreciated
>> 
>> thanks and Regards
>> 
>> dyuti
>> 
>> DYUTI wrote:
>>> 
>>> Thank u mark ....i'll try this
>>> 
>>> regards
>>> dyuti
>>> 
>>> Mark Pendergraft wrote:
>>>> 
>>>> Here are 2 ways to accomplish what you are trying to do:
>>>> 
>>>> Option 1:
>>>> You have a widget which inherits Fusion.Tool.Canvas.
>>>> Use the mousedown even to get the coordinates clicked
>>>> Then use 
>>>> "var p = this.getMap().getEventPosition(e);" to get the event
>> position
>>>> "var gp = this.getMap().pixToGeo(p.x, p.y);" to get the N/E at that
>>>> position
>>>> 
>>>> Then send your northing and easting to a PHP page and use it to
>> generate
>>>> a spatial filter (you may want to create a mgPolygon from your N/E
> as
>>>> your spatialfilter in order to make sure you cover the point)
>>>> 
>>>> Return the selected point, and send it to another page to create
> your
>> pop
>>>> up window populated with the relevant information.
>>>> 
>>>> Option 2:
>>>> Use the URL feature in studio to show a link.  Use expressions to
>> pass
>>>> the points information into the link, and have the link directed to
> a
>>>> custom page which will populate itself with the relevant data.
>>>> 
>>>> 
>>>> Seeing as you are new to MapGuide, I would highly recommend option
> 2,
>> as
>>>> it requires very little coding and is very easy and user friendly.
> I
>>>> have attached a photo of what the URL maptip looks like in my map.
>> In
>>>> the picture, the user hovers there mouse over a parcel and the
> maptip
>>>> pops up with a link to the parcel's page on the county's website.
>> All I
>>>> have to do is pass the parcel number in the link, which is all done
>> by
>>>> studio.
>>>> 
>>>>  http://n2.nabble.com/file/n2315851/Untitled.jpg 
>>>> 
>>>> -Mark 
>>>> 
>>>> 
>>>> DYUTI wrote:
>>>>> 
>>>>>   hi..all...
>>>>>             to open a new window while clicking on the points
>> displayed
>>>>> on the map where i've to write the coding...In which file i've to
>> make
>>>>> changes..&what change i've to make...plss help me... 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> thanks&regards
>>>>> dyuti
>>>>> 
>>>> 
>>>> 
>>> 
>>> 
>> 
>> -- 
>> View this message in context:
>> http://n2.nabble.com/window-open-tp2295629p2351717.html
>> Sent from the MapGuide Users mailing list archive at Nabble.com.
>> 
>> _______________________________________________
>> mapguide-users mailing list
>> mapguide-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>> _______________________________________________
>> mapguide-users mailing list
>> mapguide-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>> 
>> 
> 
> -- 
> View this message in context:
> http://n2.nabble.com/window-open-tp2295629p2357432.html
> Sent from the MapGuide Users mailing list archive at Nabble.com.
> 
> _______________________________________________
> mapguide-users mailing list
> mapguide-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-users
> _______________________________________________
> mapguide-users mailing list
> mapguide-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-users
> 
> 

-- 
View this message in context: http://n2.nabble.com/window-open-tp2295629p2376329.html
Sent from the MapGuide Users mailing list archive at Nabble.com.



More information about the mapguide-users mailing list