2016-05-10 16 views
0

Mein Projekt ist WPF. diesen Teil Code Ich versuche Route hinzuzufügen:Ich kann keine Route zu GmapControl hinzufügen

PointLatLng start = new PointLatLng(34.633440, 50.867821); 
PointLatLng end = new PointLatLng(34.618707, 50.844945); 
MapRoute route = GoogleMapProvider.Instance.GetRoute(
start, end, false, false, 15); 

Aber in allen Artikeln sie mich das erstellte Route zu einem Overlay hinzufügen muß sagen. Und dann füge die Overlays zu meiner Kontrolle hinzu. Aber es gibt keine Überlagerung zum Hinzufügen. Wie kann ich die Route zu meinem Control hinzufügen?

Antwort

2

Aber es gibt keine Overlay

In Ihrem Code-Schnipsel an, hat die MapRoute Instanz erstellt wurde. Wir brauchen die folgenden Dinge zu tun:

1. Wickeln Sie den Weg nach oben in einer GMapRoute Beispiel die GMapRoute Konstruktor nimmt eine Reihe von Punkten.

2. Added GMapRoute Instanz in eine Overlay

3. Add-Overlay GMapControl

Referenz:ADDING THE ROUTE TO THE MAP

------- -Update 5/11/2016 --------

Für WPF-Anwendung, müssen wir den Weg nach oben in einer GMapRoute Instanz und fügen Sie in GMapControl.Markers wickeln:

RoutingProvider rp = gmap1.MapProvider as RoutingProvider; 
if (rp == null) 
{ 
      rp = GMapProviders.OpenStreetMap; // use OpenStreetMap if provider does not implement routing 
} 

MapRoute route = rp.GetRoute(start, end, false, false, 15); 

if (route != null) 
{ 
      GMapRoute mRoute = new GMapRoute(route.Points); 
      { 
       mRoute.ZIndex = -1; 
      } 

      gmap1.Markers.Add(mRoute); 

      gmap1.ZoomAndCenterMarkers(null); 
} 
else 
{ 
      System.Diagnostics.Debug.WriteLine("There is no route"); 
} 

Ich habe eine Probe für Sie, überprüfen Sie bitte here

+0

Willst du mich verarschen? Du denkst, ich habe diese Referenz nicht gefunden? Ich sage Ihnen, dass das Overlay-Objekt in meinem wpf-Projekt nicht bekannt ist. –

+0

@MeysamTolouee Okay, ich habe meine Antwort mit einem abgeschlossenen Beispiel aktualisiert, das erste Dokument ist für traditionelles Winform-Projekt, also bitte verwenden Sie stattdessen Marker –

+1

Ein bisschen mehr abgekürzt bestehende Antwort: http://stackoverflow.com/a/35500767 – rdoubleui