Ich baue gerade eine iOS-App und ich hoffe, eine Funktion zu implementieren, wo der Standort des Benutzers in einer Google Map-Ansicht angezeigt wird und wann Verschieben Sie eine Polyline-Show ist der Weg, der bisher von dem Benutzer gereist wurde. Dies muss offensichtlich in Echtzeit geschehen.So verfolgen Sie den Standort eines Benutzers und zeigen den zurückgelegten Weg mit Google Maps ios SDK
Bisher habe ich eine Google Maps-Ansicht initialisiert und kann den aktuellen Standort des Benutzers mit der Funktion observeValueForKeyPath anzeigen. Die Ansichts- und Standortmarkierung wird aktualisiert, wenn sich der Benutzer bewegt.
Ich dachte, der beste Weg wäre, ein GMSMutablePath-Objekt zu erstellen, das den aktuellen Standort des Benutzers jedes Mal hinzufügt, wenn die Kamera an der neuen Position aktualisiert wird, und dann eine Polylinie aus diesem Pfad erstellt. Der Code, den ich dafür verwendet habe, ist unten:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if ([keyPath isEqualToString:@"myLocation"] && [object isKindOfClass:[GMSMapView class]])
{
[self.myMapView animateToCameraPosition:[GMSCameraPosition cameraWithLatitude:self.myMapView.myLocation.coordinate.latitude
longitude:self.myMapView.myLocation.coordinate.longitude
zoom:18]];
[trackedPath addCoordinate:CLLocationCoordinate2DMake(self.myMapView.myLocation.coordinate.latitude, self.myMapView.myLocation.coordinate.longitude)];
GMSPolyline *testPoly = [GMSPolyline polylineWithPath:trackedPath];
testPoly.strokeWidth = 8;
testPoly.strokeColor = [UIColor redColor];
testPoly.map = myMapView;
}
}
Dies erzeugt keine Polylinie auf der Karte in der Praxis so dass jede Hilfe/Beratung sehr geschätzt werden würde!
Was ist ein Punkt in Ihrem Code? –
@sandeeptomar Punkt ist ein NSMutable Array. – ChenSmile