Attualmente sto costruendo un'app ios e spero di implementare una funzione in cui la posizione dell'utente viene visualizzata su una vista di Google Map e quando sposta una polilinea mostra il percorso che è stato percorso dall'utente fino a quel momento. Questo ovviamente deve avvenire in tempo reale.Come tracciare la posizione di un utente e visualizzare il percorso percorso utilizzando Google Maps ios SDK
Finora ho inizializzato una vista di Google Maps e possono visualizzare la posizione corrente dell'utente utilizzando la funzione di observeValueForKeyPath. La vista e l'indicatore di posizione si aggiornano man mano che l'utente si sposta.
Ho immaginato che il modo migliore per farlo sarebbe quello di creare un oggetto GMSMutablePath che aggiunge la posizione corrente dell'utente ogni volta che la telecamera mappa si aggiorna alla nuova posizione e quindi crea una polilinea da quel percorso. Il codice che ho usato per questo è qui sotto:
- (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;
}
}
Questo non produce alcun polilinea sulla mappa, in pratica, in modo che qualsiasi aiuto/consiglio sarebbe molto apprezzato!
qual è il punto nel codice? –
Il punto @sandeeptomar è una matrice NSMutable. – ChenSmile