View Full Version : Which method to view the Map of the actual Route

11-25-2005, 02:54 AM
Can somone tell me the method, which i must use to print the actual route in the map window?
I mean the same function, when i click on the overview (the first row) in the directions pane.

11-25-2005, 11:34 AM

Something like this:

if (prntDlg.DialogResult != DialogResult.OK)

try {
MP.ActivePrinter = prntDlg.SelectedPrinter.Items[prntDlg.SelectedPrin ter.SelectedIndex].ToString();

Where prntDlg.GeoPrint is one of these values:

geoPrintMap = 0,
geoPrintDirections = 1,
geoPrintTurnByTurn = 2,
geoPrintStripMaps = 3,
geoPrintSelectedArea = 4,
geoPrintHighlightedPlaces = 5,
geoPrintFullPage = 6,

I think you need geoPrintDirections. prntDlg is just a form with the printer parameters and settings on what/how to print.

11-25-2005, 12:24 PM
I think you've misunderstood me :(, sorry. I dont mean the printerdialog. What i need is the method to draw the map with the route on monitor.

A short description of my problem
Now i use the method "Union (Returns a Location object that represents the best map view to display all of the specified locations)" where i have added all Waypoints. But for example, if the Street of my highest Waypoint gos first up and then down, this piece of my route will not displayed on the mapview. That means, i need a mapview where my complete route is shown on the map.

thanks a lot for your help

11-26-2005, 11:41 AM

I'm not sure I understeand it again :(

if you call: route.Calculate(); then the map will zoom to the specified route and it is complete on the screen, unless you do something with the map that it will pan or zoom.

11-26-2005, 12:09 PM
Yes thats right! But if the route is calculated, then he does not zoom to route if i use the calculate again. Because MP don't calc the route again. At first i must change somthing on route, then he will do it.
But at second, if the calculate will work again, thats not the best solution for this "problem".
I'm thinking that there is a methode i can call, that will do it. But i didnt found it anywhere at the Mappoint programmers reference.

11-26-2005, 01:57 PM

if the route is calculated, then he does not zoom to route if i use the calculate again.
It does when you first call:
and then you call Calculate() agein and it will zoom to it.

11-26-2005, 06:00 PM
from Mappoint Programming Reference
Clears a route from the map, removing all waypoints (start point, stops, and end point); similar to clicking Clear Route on the Route menu.

Thats not what i want, i need my Waypoints further. I give you an example:
I have calculated a route. Now maybe i click on an waypoint, the map zoom to the waypoint i've selected. How do i go back to my complete route on map. Now you can say use the GoBack method, where i can go back to my last mapview. But if i have select 2 or more waypoints in a row, that doesn't work to view my complete route again.
Do you know what i mean?

11-27-2005, 02:19 PM

Aaaah I think I understeand finally :D

You calc route and wants to save that view to return to it later...

Yes very easy, something like this:

int x = MP.Width / 2;
int y = MP.Height / 2;
Location Loc = MP.ActiveMap.XYToLocation(x, y);
pos.CalcPos(Loc, out Lat, out Lon);
Alt = MP.ActiveMap.Altitude;

so remember the coordinates and you can easy go back to it using GotoLatLong method. for the CalcPos search for it in this forum :)

11-27-2005, 03:17 PM
Well, thanks for your hard work with me.

After a long odyssey through the MP Reference, i think i have the right function :D

Location property (Directions)
Returns the Location object that represents the best map view of the part of the route represented by the particular Directions collection, which may be the entire route or a portion of the route. Read-only.

But i have to try it at work :wink:

thanks a lot

11-29-2005, 06:39 PM
Yikes this is hard...

Sub ZoomRoute()

Dim objApp As New MapPoint.Application
Dim objMap As MapPoint.Map
Dim objRoute As MapPoint.Route

'Set up the application
Set objMap = objApp.ActiveMap
Set objRoute = objMap.ActiveRoute
objApp.Visible = True
objApp.UserControl = True

'Add route stops and calculate route
With objRoute.Waypoints
.Add objMap.FindResults("Seattle, WA").item(1)
.Add objMap.FindResults("Redmond, WA").item(1)
.Add objMap.FindResults("Tacoma, WA").item(1)
.Add objMap.FindResults("Bellevue, WA").item(1)
End With
objMap.FindResults("New York, NY").item(1).Goto
MsgBox ("Hello NYC")


End Sub

This calculates the route then zooms to New York (as an example of user actions) then rezooms to the calculated route.