[Copied from posting at
http://forums.fluxmedia.net/viewtopic.php?t=433]
First, the screen shots...
Basic view w/ GPS lock turned off:
Planning route from Portland to Seattle w/ GPS lock turned off:
Planned route from Portland to Seattle w/ GPS lock start+current+end:
Closed route (can pull up again) w/ GPS lock current+end:
The code is at:
http://workspaces.gotdotnet.com/CFMapPoint
Currently the code is in alpha, so the project is private access only.
You are welcome to request access, but I don't yet know how GDN's access control works, so please bear w/ me while I figure out a good way to continue to control access during the alpha stages.
You *MUST* have a copy of MapPoint 2004 and Centrafuse v1.6 installed for this to work!
You may also have to edit the project settings to get it to compile right.
Let me know what I can do to make the code more portable.
The code is semi-well documented w/ TODOs.
Here are the current TODOs:
- CFMapPoint.cs(23): TODO: Create more skinned dialogs and fancy menu/button controls
CFMapPoint.cs(24): TODO: Implement NAV Menu
CFMapPoint.cs(25): TODO: Auto add current location to route
CFMapPoint.cs(26): TODO: Status Text Timer
CFMapPoint.cs(27): TODO: Union to fit entire route (not just endpoints + current)
CFMapPoint.cs(28): TODO: Location.FindNearby(distance)
CFMapPoint.cs(29): TODO: GPS Options - Lock, TraceSegments, Interval, UploadURL, UploadInterval
CFMapPoint.cs(30): TODO: Region (US or Europe)
CFMapPoint.cs(31): TODO: Units (Miles of KM)
CFMapPoint.cs(32): TODO: Option to turn off AllowEdgePan
CFMapPoint.cs(33): TODO: Find itinerary window and resize to half of control height
CFMapPoint.cs(34): TODO: Intercept ALT-F4 close and save map (Application.BeforeClose or Application.Quit)
CFMapPoint.cs(35): TODO: Routing user preferences (aka: DriverProfile)
CFMapPoint.cs(36): TODO: Make use of ShowFindDialog?
CFMapPoint.cs(37): TODO: Categorize FindResults by Type, StreetAddress, PlaceCategory
CFMapPoint.cs(38): TODO: Print?
CFMapPoint.cs(39): TODO: Save as WebPages? ActiveMap.SaveAs("file.htm", GeoSaveFormat.geoFormatHTMLMapAndDirections, false);
CFMapPoint.cs(40): TODO: Make use of LocationToX and LocationToY to make UI a bit more fluid
CFMapPoint.cs(41): TODO: Map.Union(locations...).GoTo() to make UI a bit more fluid
CFMapPoint.cs(42): TODO: Make use of PixelSize to make UI a bit more fluid
CFMapPoint.cs(43): TODO: Selected area?
CFMapPoint.cs(44): TODO: Selection?
CFMapPoint.cs(45): TODO: Shapes?
CFMapPoint.cs(46): TODO: Symbols?
CFMapPoint.cs(47): TODO: MP2K6 map rotation? (via SendKeys?)
CFMapPoint.cs(48): TODO: Flicker free BitBlt drawing?
CFMapPoint.cs(50): TODO: Traffic
CFMapPoint.cs(51): TODO: Construction updates
CFMapPoint.cs(356): TODO: Better way to get full path to plugin directory?
CFMapPoint.cs(721): TODO: Find out where this is this used, or remove
CFMapPoint.cs(950): TODO: Proper way to search for nearby places (by cetegory?)
CFMapPoint.cs(1136): TODO: Make IDisposable? (sometimes helps to close GPS thread)
CFMapPoint.cs(1172): TODO: Initialize to current map location?
CFMapPoint.cs(1177): TODO: Find and use C# struct for HRESULT
CFMapPoint.cs(1192): TODO: handle error (disconnect, etc) or poor quality (# sats, etc)...
CFMapPoint.cs(1528): TODO: Make use of oPlace.PlaceCategory?
CFMapPoint.cs(1606): TODO: Handle case when we delete the last waypoint
CFMapPoint.cs(1644): TODO: Turning trace on and off should clear listGPSTraceSegments
CFMapPoint.cs(1660): TODO: Determine threshold
CFMapPoint.cs(1753): TODO: Center relative to current view point (ie: relative coordinate system)
CFMapPoint.cs(1762): TODO: Use logic that handles the different LockMode types
CFMapPoint.cs(1789): TODO: zoom to closest POI (milestone, landmark, city, intersection, etc.)
CFMapPoint.cs(1797): TODO: Need to zoom out a tiny bit
I will try to put together an installer by the end of this weekend.
You will still need to have MapPoint 2K4 installed for it to work.
I have not tested it WITHOUT MapPoint installed.
I have MP2K6 still in its box and will be installing it soon and making the plugin work with that too.
I will give my MP2K4 to the first person that assists me in making sure that the plugin fails gracefully without at least MP2K4 installed.
Pv