----------------------------------
MapPoint 2004 Performance Issues
----------------------------------
We use the MapPoint 2004 functionality via COM in our Visual Studio 2005 C++ Project to display and highlight "routes". A single route consists of two locations (addresses) and a line connecting those two points. So basically, we are adding PushPins, change their symbols and then add the lines to the MapPoint control. This works alright if there are only a couple of routes to display at a given time. But it takes long to when there are a lot of tours to display ("a lot" being around 250, in other words 500 locations and 250 lines); drawing these 250 tours takes around 90 seconds.
Originally, it was even worse. We have tried a couple of things to speed this up. Basically, we reduced calls into the MapPoint control to a minimum by caching locations etc. But even with those optimizations, 90 seconds is a very long time for our users to wait for some locations to be drawn.
Other optimization topics we looked into:
1. dataset import via file
This puts the pushpins quite fast onto the map, but since we do not want the default pushpin symbol for each location, we have to iterate through all the pushpin objects and change the symbol, which slows things down again. Also, we did not find any way to import anything other than locations.
2. COM Add-In
In some newsgroups it was suggested to use a COM Add-In to speed up the drawing process of MapPoint. We found a COM Add-In called "MapPoint Graticule COM Add-In" on www.mp2kmag.com . We downloaded and installed this Add-In into MapPoint 2004 and started it, but it wasn't really fast at all! Maybe this was faster in MapPoint 2002, but it took some minutes (3-5) on our computers (Intel 2.77 ghz dual cores) to draw the graticules. Another problem that arised here is that it looks like there's no option to create a MapPoint 2004 COM Add-In from within Visual Studio 2005.
A big problem while implementing our MapPoint solution was, that there was almost no official documentation about using MapPoint with C++.
Our Questions:
- Is there something we overlooked?
- Are these issues resolved in MapPoint 2006? (we have to wait for the European version)
- Will MapPoint 2006 work with Visual Studio 2005 (can a COM Add-In be made?)?
---
Nicolas