2016-07-04 5 views
0

Ich habe eine Anforderung, dass in einigen Fällen ein GMSPolyline von einem Ort zum anderen bewegt werden. Hier ist das Szenario:eine GMSPolyline in iOS

  1. Ein Benutzer öffnet eine GMSMapView und erstellt eine GMSPolyline-Funktion.
  2. Anschließend ändert der Benutzer die Kartenposition
  3. Der Benutzer tippt auf eine Schaltfläche, um die neu erstellte Polylinie in der neuen Ansichtsposition zu zentrieren, dh die neu erstellte Linieneigenschaft wird in die Mitte der neuen Kameraansicht verschoben.

Bis jetzt kann ich keine Ressourcen finden, wie man das macht. Es gibt viele Beispiele für das Erstellen und Bearbeiten von GMSPolyline-Features, jedoch nicht für das Verschieben des gesamten Features. Kann mir jemand ein Beispiel dafür nennen?

Danke!

+0

Sind Sie sicher, dass Sie die Polylinie verschieben? Es sieht so aus, als ob du die GMSCamera nur so verschieben willst, dass die Polylinie in der Mitte liegt. Korrigiere mich, wenn ich falsch liege. – Bharat

+0

Nein, wenn die Kameraposition verändert, ich habe die ganze GMSPolyline zum Zentrum der neuen Kameraansicht – Pheepster

+1

GMSPolyline auf den Koordinaten basiert verschieben möchten Sie es füttern, so dass ich denke, es gibt keine Möglichkeit, seinen Platz zu ändern. – Bharat

Antwort

1

Sie haben die Koordinaten aller Standorte zu ändern, die die GSMPath machen, dass die Basis Ihrer GMSPolyline ist. Für jeden Standort können Sie den neuen Punkt berechnen GMSGeometryOffset verwenden, dann ziehen Sie eine neue Polylinie.

Oder Sie können -(instancetype) pathOffsetByLatitude:longitude: von GMSPath auf dem GMSPath die Ihre Polylinie beschreibt.

Sie verwenden eine oder die andere nach den Daten, die Sie zur Verfügung haben (als Beispiel die Start- und End-Ziel des GMSCameraPosition nach einer pan)