Benutzer mit den meisten Antworten
Schnittstellenbeschreibung für Microsoft MapPoint

Frage
-
Hallo Zusammen,
ich bin auf der Suche nach einer Schnittstellenbeschreibung für die Anbindung von MapPoint an eine selbst programmierte Software. Ich gehe einmal davon aus, dass es da auch an irgend einer Stelle eine Klasse gibt, die ich in mein Softwareprojekt einbinden kann. Ziel ist er, dass ich aus der selbst programmierten Software mit Übergabe von X- und Y-Koordinaten verschiedene Routen berechnen lassen möchte, Karten angezeigt werden und berechnete Kilometer übermittelt werden sollen. Des weiteren soll die selbst programmierte Software als RemoteApp auf einem Terminalserver laufen, sodass das MapPoint dementsprechend auf dem Terminalserver installiert werden muss. An dieser Stelle stellt sich für mich auch die Frage, welche Art von Lizenzen ich kaufen muss, damit ich an dieser Stelle Lizenztechnisch richtig liege. Reicht da eine normale "Box-Version" oder muss ich dafür Open-Lizenzen kaufen? Funktioniert MapPoint eigentlich in einer Terminalserver-Umgebung bzw. kann ich diese Software überhaupt auf einen Win 2008 installieren?
Ich bedanke mich schon einmal im vorraus für eure Hilfe.
Grüße
Patrick Dentzer
Antworten
-
Hallo Patrick Dentzer,
Ich sehe hier ein Beispiel wie man Microsoft MapPoint Control 13.0 in Visual Studio 2005 verwenden kann: Getting started using the MapPoint Control
Hier steht noch folgendes: „Welcome to the Bing Maps upgrade portal—your primary resource for information and support materials to help you plan the move of your applications to Bing Maps before MapPoint Web Service is discontinued on November 18, 2011.“
Hier anhand der Koordinaten und mithilfe des Dienstes http://dev.virtualearth.net/webservices/v1/geocodeservice/geocodeservice.svc?wsdl kann man die Adresse anzeigen. Vielleicht hilft Dir diese Info. (Reverse Geocoding)
Hier wurde die Karte angezeigt anhand der Koordinaten und mithilfe von VEMap.
map.GetDirection - Help me...how to
http://www.viawindowslive.com/Articles/VirtualEarth/WhatsnewinVersion6Routing.aspx + suche nach
Client-Server Interaktion (SOAP) – XML Web service mit SOAP API
Schau mal hier: http://www.code-magazine.com/articleprint.aspx?quickid=0804042&printmode=true (Figure4 und Listing 2) oder http://msdn.microsoft.com/en-us/library/bb877838.aspx (Kilometer Beispiel)
Es gibt auch ein EN-US Forum für Bing Maps: Map Control and Web services Development.
[HTML 2 Beispiele] – jetzt mal in Kilometer (default =Miles)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Virtual Earth 6 Route Example</title> <!--A meta tag declaring utf-8 is required.--> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!--There is a single URL for the Virtual Earth JavaScript.--> <script type="text/javascript" src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6"> </script> <script type="text/javascript"> var map = null; function GetMap() { //Load the map as normal. map = new VEMap("myMap"); map.LoadMap(); //Create an object to set all the route options. var options = new VERouteOptions(); //The RouteCallback will get the route information. options.RouteCallback = onGotRoute; options.DistanceUnit = VERouteDistanceUnit.Kilometer; //The array of locations specifies multi-point routing. map.GetDirections(["Berlin","Munich"], options); } //This method fires on once the route is calculated. function onGotRoute(route) { var legs = route.RouteLegs; var turns = "Total distance: " + route.Distance.toFixed(1) + " km<br />"; var numTurns = 0; var leg = null; //The route contains legs, the legs contain items. for(var i = 0; i < legs.length; i++) { leg = legs[i]; var turn = null; for(var j = 0; j < leg.Itinerary.Items.length; j ++) { turn = leg.Itinerary.Items[j]; numTurns++; turns += numTurns + ". " + turn.Text + " (" + turn.Distance.toFixed(1) + " km)<br />"; } } //Simply write your string to your directions DIV. document.getElementById("myDirections").innerHTML = turns; } </script> </head> <!--You must create the map after the DOM has completely loaded.--> <body onload="GetMap();"> <!--A simple DIV is needed as the placeholder for the map.--> <div id="myMap" style="position:relative; width:400px; height:400px;float:left;"></div> <!--A simple DIV to house your directions.--> <div id="myDirections" style="position:relative; width:400px;height:400px;float:left;overflow:auto;"></div> </body> </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2"></script> <script type="text/javascript"> var map = null; // Initial map view, shows the India map var IndiaMap = new VELatLong(23.20,77.30); function GetMap() { map = new VEMap('myMap'); map.LoadMap(IndiaMap, 4); } function GetRouteMap() { var locations; locations = new Array("Delhi", "Agra"); var options = new VERouteOptions; // Otherwise what's the point? options.DrawRoute = true; // So the map doesn't change: options.SetBestMapView = false; // Call this function when map route is determined: options.RouteCallback = ShowTurns; // Show as miles options.DistanceUnit = VERouteDistanceUnit.Kilometer; // Show the disambiguation dialog options.ShowDisambiguation = true; map.GetDirections(locations, options); } function ShowTurns(route) { var turns = "<h3>Turn-by-Turn Directions</h3>(rounding errors are possible)"; turns += "<p><b>Distance:</b> " + route.Distance.toFixed(1) + " Kilometers"; SetDirections(turns); } function SetDirections(s) { var d = document.getElementById("directions"); d.innerHTML = s; } </script> </head> <body onload="GetMap();" style="font-family:Arial"> <h3>Get a Route and Directions </h3> <div id='myMap' style="position:relative; width:400px; height:400px;" ></div> <input id="getroutemap" type="button" value="Get Distance" onclick="GetRouteMap();"/> <div id='directions'></div> </body> </html>
Grüße,
Robert
- Als Antwort markiert Patrick Dentzer Montag, 4. Juli 2011 15:47
Alle Antworten
-
Hallo Patrick Dentzer,
Ich sehe hier ein Beispiel wie man Microsoft MapPoint Control 13.0 in Visual Studio 2005 verwenden kann: Getting started using the MapPoint Control
Hier steht noch folgendes: „Welcome to the Bing Maps upgrade portal—your primary resource for information and support materials to help you plan the move of your applications to Bing Maps before MapPoint Web Service is discontinued on November 18, 2011.“
Hier anhand der Koordinaten und mithilfe des Dienstes http://dev.virtualearth.net/webservices/v1/geocodeservice/geocodeservice.svc?wsdl kann man die Adresse anzeigen. Vielleicht hilft Dir diese Info. (Reverse Geocoding)
Hier wurde die Karte angezeigt anhand der Koordinaten und mithilfe von VEMap.
map.GetDirection - Help me...how to
http://www.viawindowslive.com/Articles/VirtualEarth/WhatsnewinVersion6Routing.aspx + suche nach
Client-Server Interaktion (SOAP) – XML Web service mit SOAP API
Schau mal hier: http://www.code-magazine.com/articleprint.aspx?quickid=0804042&printmode=true (Figure4 und Listing 2) oder http://msdn.microsoft.com/en-us/library/bb877838.aspx (Kilometer Beispiel)
Es gibt auch ein EN-US Forum für Bing Maps: Map Control and Web services Development.
[HTML 2 Beispiele] – jetzt mal in Kilometer (default =Miles)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Virtual Earth 6 Route Example</title> <!--A meta tag declaring utf-8 is required.--> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!--There is a single URL for the Virtual Earth JavaScript.--> <script type="text/javascript" src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6"> </script> <script type="text/javascript"> var map = null; function GetMap() { //Load the map as normal. map = new VEMap("myMap"); map.LoadMap(); //Create an object to set all the route options. var options = new VERouteOptions(); //The RouteCallback will get the route information. options.RouteCallback = onGotRoute; options.DistanceUnit = VERouteDistanceUnit.Kilometer; //The array of locations specifies multi-point routing. map.GetDirections(["Berlin","Munich"], options); } //This method fires on once the route is calculated. function onGotRoute(route) { var legs = route.RouteLegs; var turns = "Total distance: " + route.Distance.toFixed(1) + " km<br />"; var numTurns = 0; var leg = null; //The route contains legs, the legs contain items. for(var i = 0; i < legs.length; i++) { leg = legs[i]; var turn = null; for(var j = 0; j < leg.Itinerary.Items.length; j ++) { turn = leg.Itinerary.Items[j]; numTurns++; turns += numTurns + ". " + turn.Text + " (" + turn.Distance.toFixed(1) + " km)<br />"; } } //Simply write your string to your directions DIV. document.getElementById("myDirections").innerHTML = turns; } </script> </head> <!--You must create the map after the DOM has completely loaded.--> <body onload="GetMap();"> <!--A simple DIV is needed as the placeholder for the map.--> <div id="myMap" style="position:relative; width:400px; height:400px;float:left;"></div> <!--A simple DIV to house your directions.--> <div id="myDirections" style="position:relative; width:400px;height:400px;float:left;overflow:auto;"></div> </body> </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2"></script> <script type="text/javascript"> var map = null; // Initial map view, shows the India map var IndiaMap = new VELatLong(23.20,77.30); function GetMap() { map = new VEMap('myMap'); map.LoadMap(IndiaMap, 4); } function GetRouteMap() { var locations; locations = new Array("Delhi", "Agra"); var options = new VERouteOptions; // Otherwise what's the point? options.DrawRoute = true; // So the map doesn't change: options.SetBestMapView = false; // Call this function when map route is determined: options.RouteCallback = ShowTurns; // Show as miles options.DistanceUnit = VERouteDistanceUnit.Kilometer; // Show the disambiguation dialog options.ShowDisambiguation = true; map.GetDirections(locations, options); } function ShowTurns(route) { var turns = "<h3>Turn-by-Turn Directions</h3>(rounding errors are possible)"; turns += "<p><b>Distance:</b> " + route.Distance.toFixed(1) + " Kilometers"; SetDirections(turns); } function SetDirections(s) { var d = document.getElementById("directions"); d.innerHTML = s; } </script> </head> <body onload="GetMap();" style="font-family:Arial"> <h3>Get a Route and Directions </h3> <div id='myMap' style="position:relative; width:400px; height:400px;" ></div> <input id="getroutemap" type="button" value="Get Distance" onclick="GetRouteMap();"/> <div id='directions'></div> </body> </html>
Grüße,
Robert
- Als Antwort markiert Patrick Dentzer Montag, 4. Juli 2011 15:47
-
Hallo Robert,
ich danke Dir für die schnelle Antwort.
Ich habe das jetzt mal durchgetestet und es fuinktioniert in deinem Beispiel schon einmal hervorragend.Jetzt muss ich das nur noch irgendwie in meine Software bekommen und hoffen, dass es auch als RemoteApp vom Terminalserver läuft *Daumendrück*.
Ich danke Dir
Grüße
Patrick