2017-07-30 1 views
0

Ich versuche, this guide zu folgen, um eine Polylinie auf einer Karte in einer Xamarin.Forms App zu zeichnen. Es sollte die Position des Benutzers in Echtzeit verfolgen und die Polylinie aktualisieren, wenn neue Positionsdaten eingehen.Xamarin.Forms.Maps benutzerdefinierten Polylinien-Renderer rated nicht in Sicht

Ich habe einen benutzerdefinierten Kartenrenderer geschrieben, der die Polylinie rendert, aber aus irgendeinem Grund wird er nicht aktualisiert, wenn die Karte darin ist Aussicht. Ich muss zurück zur Hauptstart-Seite navigieren und erneut zur Mapping-Seite navigieren, um sie zu aktualisieren.

extrahiert ich den minimalen Code, um das Problem zu reproduzieren, aber es ist hier immer noch zu viel zu kleben, so dass ich beherbergte es auf GitHub:

https://github.com/Steztric/MapWithWaylineSample

Bitte könnte mir jemand wissen, was ich tue, falsch. Sie können das Problem demonstrieren, indem Sie das Repo klonen und es ausführen.

Antwort

2

Sie müssen jedes Mal einen Renderer erstellen, entfernen Sie also die Klassenvariable polylineRenderer und verwenden Sie den lokalen.

MKOverlayRenderer GetOverlayRenderer(MKMapView mapView, IMKOverlay overlayWrapper) 
     { 
      IMKOverlay overlay = Runtime.GetNSObject(overlayWrapper.Handle) as IMKOverlay; 

      if (overlay is MKPolyline) 
      { 
       var polylineRenderer = new MKPolylineRenderer(overlay as MKPolyline); 
       polylineRenderer.FillColor = UIColor.Blue; 
       polylineRenderer.StrokeColor = UIColor.Red; 
       polylineRenderer.LineWidth = 3; 
       polylineRenderer.Alpha = 0.4f; 
       return polylineRenderer; 
      } 
      else 
      { 
       return null; 
      } 
     } 

Auch können Sie die Dinge ein wenig

MKPolyline currentWayline; dann

var wayline = MKPolyline.FromCoordinates(coords.ToArray()); 
    //IMKOverlay overlay = Runtime.GetNSObject(wayline.Handle) as IMKOverlay; 
    nativeMap.AddOverlay(wayline); 
    currentWayline = wayline; 
+0

Danke definieren vereinfachen! Dieses Problem hat mich buchstäblich wochenlang geärgert! – Steztric

Verwandte Themen