How can I locate the position of a freeform shape object so I can keep this information in a database and use it to reproduce the same shape and position when I need it?
This is a discussion on How can I locate the position of a freeform shape .... within the MapPoint Desktop Discussion forums, part of the Map Forums category; How can I locate the position of a freeform shape object so I can keep this information in a database ...
How can I locate the position of a freeform shape object so I can keep this information in a database and use it to reproduce the same shape and position when I need it?
Thanks John, the only problem I have is a freeform has no Location or a center point to start from. I also did not find a way of using the "Points" of the freeform.
Sylvain
Use the vertices. Look in Walt's code (referenced above) to see how he accomplishes it.. or just use Walt's solution. - Eric
~ Order MapPoint MapPoint 2013 Here and Get Free Access to the MapForums Downloads ~
~~
~ Upgrade to Get Access to the MapForums Downloads ~
Also, check out Walt's mif/mid exporter: http://www.mp2kmag.com/importersub01.asp . Whether you have MapInfo or not, this can still be useful as it exports text files, you can parse those to get the coordinates. It's compiled for you and linked from a past update: http://www.mp2kmag.com/update/?id=5 Look near the bottom. - Eric
~ Order MapPoint MapPoint 2013 Here and Get Free Access to the MapForums Downloads ~
~~
~ Upgrade to Get Access to the MapForums Downloads ~
First you need to read/download the code written by Gilles Kohl "A More Compact Method for Obtaining Lat/Long " at
http://www.mp2kmag.com/articles.asp?ArticleID=13
cut/paste that code into a module. Make sure you have a reference to the Microsoft Mappoint 9.0 object Library(North America)
Assuming you have a shape on your map this code will give you a message box with the Lat/Long for the shape. Store them in you database. When you want to recreate the shape use the GetLocation method with your lat/long. Then use the addshape method. You will also need the size you want the shape to be so you might want to store that as well.
Public thelat As Double
Public thelon As Double
Private Sub Command1_Click()
Dim iShape As MapPointCtl.Shape
Set iShape = MappointControl1.ActiveMap.Shapes(1)
Dim themap As MapPoint.Map
Set themap = MappointControl1.ActiveMap
Dim theloc As MapPoint.Location
Set theloc = iShape.Location
CalcPos themap, theloc, thelat, thelon
MsgBox thelat & " , " & thelon
John
john@support-pc.com
There are currently 1 users browsing this thread. (0 members and 1 guests)