[mapguide-users] Zoom To Selection

Nandorov nandorov at gmail.com
Fri Dec 19 15:42:10 EST 2008


Hi,
you can try this, after applying the filter
featureReader =featureService.SelectFeatures(parcelId,
YourLayer.GetFeatureClassName(), nameQuery);

i did it in php, but in .net might be something like this ;p

MgAgfReaderWriter agfReaderWriter = new MgAgfReaderWriter();
featureReader.ReadNext();
MgByteReader Geom = featureReader.GetGeometry('Geometry'); (or the name of
ur geometry property)

-- you get the geometry of ur parcel
MgGeometry featureGeometry = agfReaderWriter.Read(Geom);

-- then get the center of the polygon and its coordinates
MgPoint centroid = featureGeometry.GetCentroid();
double mapCenterX = centroid.GetCoordinate().GetX(); -- or if basic dim
mapCenterX as double = ...
double mapCenterY = centroid.GetCoordinate().GetY();

-- redirect to another page and in the load

function OnPageLoad(x,y){
	parent.parent.mapFrame.ZoomToView(x,y,2000,true);
	parent.parent.mapFrame.Refresh();
}

its something like this. hope it helps
Regards


padmini godavarthi wrote:
> 
> Hi,
> Thanks for u rreply. 
> it works fine.when i query with parcel_id='1' it was selected on the map
> and displays the attributes in the property window.But i want to zoom  to
> that parcel id on the map(like zoom to shape)
> 1)How is it possible?
> 
> 
> Regards,
> Padmini.
> 
> 
> Nandorov wrote:
>> 
>> featureService.SelectFeatures(parcelId, "GEOM_TABLE", nameQuery); 
>> 
>> i think you should use layer class name instead of layer name
>> 
>> featureService.SelectFeatures(parcelId, YourLayer.GetFeatureClassName(),
>> nameQuery); 
>> 
>> 
>> padmini godavarthi wrote:
>>> 
>>> 
>>> Hi,
>>> Iam using Mapguide Opensource 2.0 (with .net 2.0 +IIS 5.1)
>>> 
>>> I want to query the parcel_id and zoomed it on the map
>>> 
>>> may code is
>>> 
>>> 
>>>        NameValueCollection serverVars = Request.ServerVariables;
>>>        String strServerVars = "";
>>>        foreach (String str in serverVars.AllKeys)
>>>        {
>>> 
>>>            strServerVars += "<br>" + str;
>>> 
>>>        }
>>>        String platform = serverVars["SERVER_SOFTWARE"];
>>>        String queryStr = serverVars["QUERY_STRING"];
>>>        string queryStr1 = serverVars["Form"];
>>>        NameValueCollection requestParams = Request.HttpMethod == "POST"
>>> ?
>>> Request.Form : Request.QueryString;
>>>        String sessionId = Request.QueryString["SESSION"];
>>>        //String sessionId = Request.QueryString["SESSION"]; ;
>>> 
>>>        string realPath = Request.ServerVariables["APPL_PHYSICAL_PATH"];
>>>        String configPath = realPath + "webconfig.ini";
>>>        MapGuideApi.MgInitializeWebTier(configPath);
>>> 
>>>        MgUserInformation userInfo = new MgUserInformation(sessionId);
>>> 
>>>        MgSiteConnection siteConnection = new MgSiteConnection();
>>>        siteConnection.Open(userInfo);
>>> 
>>>        MgResourceService resService =
>>> (MgResourceService)siteConnection.CreateService(MgServiceType.ResourceService);
>>>        MgFeatureService featureService =
>>> (MgFeatureService)siteConnection.CreateService(MgServiceType.FeatureService);
>>> 
>>>        MgMap map = new MgMap();
>>>        map.Open(resService, "oramap");
>>> 
>>> 
>>>        MgFeatureQueryOptions nameQuery = new MgFeatureQueryOptions();
>>> 
>>> //nameQuery.SetFilter(ConfigurationManager.AppSettings["FieldToFilter"]
>>> +
>>> "=" + Globals.gURLParam);
>>>        nameQuery.SetFilter("PARCEL_ID" + "=" + "670_111");
>>>        MgResourceIdentifier parcelId = new
>>> MgResourceIdentifier("Library://Orasample/resora.FeatureSource");
>>>        MgFeatureReader featureReader =
>>> featureService.SelectFeatures(parcelId, "GEOM_TABLE", nameQuery);
>>> 
>>>        //Highlight the query result on the map
>>>        MgSelection selection = new MgSelection(map);
>>>        MgLayer layer = (MgLayer)map.GetLayers().GetItem("GEOM_TABLE");
>>> 
>>> 
>>>        featureReader = featureService.SelectFeatures(parcelId,
>>> "GEOM_TABLE", nameQuery);
>>>        selection.AddFeatures(layer, featureReader, 0);
>>>      String selectXML = selection.ToXml();
>>>        selection.Save(resService, "oramap");
>>>        Page.ClientScript.RegisterStartupScript(Page.GetType(), "test",
>>> "select('" + selectXML + "');", true);
>>> }
>>> 
>>> but i got an error at
>>> 
>>>   MgFeatureReader featureReader =
>>> featureService.SelectFeatures(parcelId,
>>> "GEOM_TABLE", nameQuery);
>>> 
>>> 
>>> 1)can u plz tell me what do u man by faeture class name?
>>> from where i will gt it?
>>> 
>>> Thanks and Regards,
>>> Padmini.
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Zoom-To-Selection-tp21070073p21098056.html
Sent from the MapGuide Users mailing list archive at Nabble.com.



More information about the mapguide-users mailing list