[mapguide-users] RE: Showing point in map

Ivan Miličević Ivan.Milicevic at supranet.hr
Tue Jan 24 05:03:50 EST 2012


And please take a look at: http://trac.osgeo.org/mapguide/ticket/649

From: mapguide-users-bounces at lists.osgeo.org [mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of David Das Neves
Sent: Tuesday, January 24, 2012 10:54 AM
To: mapguide-users at lists.osgeo.org
Subject: [mapguide-users] Showing point in map

Hey guys,

I am totally frustrated now. After reconstructing and trying lots of examples to show a damn point in the map I did not get it to work.
The most example codes are offline and the demo project for the "markup feature" does also not work.

Now in the last step I tried to avoid to create the layer programmatically and created it in the Maestro.
But now the code

 featureService.UpdateFeatures(resourceIdentifier, featureCommandCollection, false);

does not throw an exception and does also not work.
Has someone a solution for me - preferred in c# .Net for the Ajax viewer which knowly works?


I can´t believe that it is so hard to show a damn point in the map.

Here is the last way I have tried - (last one of lots before):


    void ShowPoint()

    {

        //---------------------------------------------------//

        // Initialize

        InitializeWebTier();

        sessionId = Request.Params["SESSION"];

        mapName = Request.Params["MAPNAME"];

        MgUserInformation userInfo = new MgUserInformation(sessionId);

        MgSiteConnection siteConnection = new MgSiteConnection();

        siteConnection.Open(userInfo);

        MgResourceService resourceService = (MgResourceService)siteConnection.CreateService(MgServiceType.ResourceService);

        MgFeatureService featureService = (MgFeatureService)siteConnection.CreateService(MgServiceType.FeatureService);



        //---------------------------------------------------//

        // Open the map

        MgMap map = new MgMap(siteConnection);

        map.Open(mapName);



        MgBatchPropertyCollection batchPropertyCollection = new MgBatchPropertyCollection();

        String featureSourceName = "Library://test/shapes/POIs.FeatureSource";

         //String featureSourceName = "Library://test/layer/POIs.LayerDefinition";



        MgResourceIdentifier resourceIdentifier = new MgResourceIdentifier(featureSourceName);



        // Make the point

        batchPropertyCollection.Add(MakePoint("Point A", x, y));



        // Add the batch property collection to the feature source

        MgInsertFeatures cmd = new MgInsertFeatures("POIs", batchPropertyCollection);

        MgFeatureCommandCollection featureCommandCollection = new MgFeatureCommandCollection();

        featureCommandCollection.Add(cmd);



        // Execute the "add" commands

        featureService.UpdateFeatures(resourceIdentifier, featureCommandCollection, false);



        // Saving the map

        map.Save(resourceService);

         //map.save



        string script = "parent.Refresh();";



        ClientScript.RegisterClientScriptBlock(this.GetType(), "Refresh",

            script, true);

        ClientScript.RegisterStartupScript(this.GetType(), "Refresh", "Refresh();");
}


    ///////////////////////////////////////////////////////////////////////////////////

    MgPropertyCollection MakePoint(String name, double x, double y)

    {

        MgPropertyCollection propertyCollection = new MgPropertyCollection();



        MgWktReaderWriter wktReaderWriter = new MgWktReaderWriter();

        MgAgfReaderWriter agfReaderWriter = new MgAgfReaderWriter();



        MgGeometry geometry = (MgPoint)wktReaderWriter.Read("POINT XY (" + x.ToString().Replace(',', '.') + " " + y.ToString().Replace(',', '.') + ")");



        MgByteReader geometryByteReader = agfReaderWriter.Write(geometry);

        MgGeometryProperty geometryProperty = new MgGeometryProperty("Geometry", geometryByteReader);



        //propertyCollection.Add(new MgInt32Property("FeatId", 6));

        propertyCollection.Add(new MgStringProperty("Name", "Name"));

        propertyCollection.Add(new MgGeometryProperty("Geometry", geometryByteReader));



        wktReaderWriter.Dispose();

        agfReaderWriter.Dispose();



        return propertyCollection;

    }







Best Regards



David

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapguide-users/attachments/20120124/182dfb90/attachment.html


More information about the mapguide-users mailing list