PDA

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



oschulz
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.

Wilfried
11-25-2005, 11:34 AM
Hi,

Something like this:


if (prntDlg.DialogResult != DialogResult.OK)
return;

try {
MP.ActivePrinter = prntDlg.SelectedPrinter.Items[prntDlg.SelectedPrin ter.SelectedIndex].ToString();
MP.ActiveMap.PrintOut("",
prntDlg.Title.Text,
(int)prntDlg.Aantal.Value,
prntDlg.GeoPrint,
(GeoPrintQuality)prntDlg.Quality,
(GeoPrintOrientation)prntDlg.Orientation,
prntDlg.Collate.Checked,
prntDlg.Legend.Checked,
prntDlg.Overview.Checked,
prntDlg.Faxable.Checked);

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.

oschulz
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

Wilfried
11-26-2005, 11:41 AM
Hi,

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.

oschulz
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.

Wilfried
11-26-2005, 01:57 PM
Hi,


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

oschulz
11-26-2005, 06:00 PM
route.Clear();
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?

Wilfried
11-27-2005, 02:19 PM
Hi,

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 :)

oschulz
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

calv1ns
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
objRoute.Calculate
objMap.FindResults("New York, NY").item(1).Goto
MsgBox ("Hello NYC")

objMap.ActiveRoute.Directions.Location.Goto

End Sub


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

Ciao,