Wie verfolgen Sie den Standort eines Benutzers und zeigt den Pfad reiste mit Google-Maps ios SDK

Ich bin derzeit der Aufbau einer ios-app und ich bin der Hoffnung, implementieren Sie eine Funktion, wo der Benutzer-Standort wird auf einer Google-Map-Ansicht und bewegen Sie eine Polylinie zeigen, ist der Weg, der wurde reiste durch den Benutzer so weit. Dies muss natürlich geschehen in Echtzeit.

Bisher habe ich initialisiert eine Google-Maps Ansicht und anzeigen können den aktuellen Standort des Benutzers mit dem observeValueForKeyPath Funktion. Die Ansicht und Position der marker zu aktualisieren, wie sich der Benutzer bewegt.

Ich dachte, der beste Weg, dies zu tun wäre eine GMSMutablePath Objekt, das fügt den aktuellen Standort des Benutzers jedes mal, wenn die Karte Kamera-updates auf den neuen Speicherort und erstellen Sie dann eine Polylinie aus, dass Pfad. Den code habe ich dafür verwendet wird, 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;
    }
}

Diese produziert keine Polylinie auf der Karte in der Praxis, so jede Hilfe/Beratung wäre sehr geschätzt werden!

InformationsquelleAutor laideybug | 2013-08-24
Schreibe einen Kommentar