Das Finden der Punkte ist ziemlich einfach und erfordert keine kluge Trigonometrie. Beachten Sie, dass, wenn der Abstand zwischen den Punkten eine bestimmte Menge sein muss - etwa alle 100 Meter - dann ist eine Trigonometrie erforderlich. Wir werden aber die einfache Version machen.
Grundsätzlich ermitteln Sie den Unterschied zwischen den Breiten und der Differenz zwischen den Längen, entscheiden, wie viele Punkte Sie möchten (wie angegeben, "alle" ist eine unendliche Zahl), teilen Sie die Entfernung durch die Anzahl der Punkte und iterieren durch sie. (Anmerkung: Ich habe diesen Code nicht getestet haben, aber Sie sollten die Idee bekommen können.)
// Making my own names for your start and stop coordinate, use your own
CLLocationCoordinate2D startPoint; // Your starting latitude and longitude
CLLocationCoordinate2D stopPoint; // Ending latitude and longitude
CLLocationCoordinate2D newPoint; // A newly-created point along the line
double latitudeModifier; // Distance to add/subtract to each latitude point
double longitudeModifier; // Distance to add/subtract to each longitude point
int numberOfPoints = 100; // The number of points you want between the two points
// Determine the distance between the lats and divide by numberOfPoints
latitudeModifier = (startPoint.latitude - endPoint.latitude)/numbernumberOfPoints;
// Same with lons
longitudeModifier = (startPoint.longitude - endPoint.longitude)/numbernumberOfPoints;
// Loop through the points
for (int i = 0; i < numberOfPoints; i++) {
newPoint.latitude = startPoint.latitude + (latitudeModifier * i);
newPoint.longitude = startPoint.longitude + (longitudeModifier * i);
// Do something with your newPoint here
}
Zuerst weisen Sie einen Puffer mit Platz für Paare aleph_0 koordinieren ... –