현재 iOS 앱을 만들고 있는데 Google지도보기에 사용자의 위치가 표시되는 기능을 구현하고 싶습니다. 지금까지 사용자가 이동 한 폴리선 쇼를 이동합니다. 이것은 분명히 실시간으로 발생해야합니다.사용자 위치를 추적하고 Google Maps iOS SDK를 사용하여 이동 한 경로를 표시하는 방법
지금까지 Google지도보기를 초기화했으며 observeValueForKeyPath 기능을 사용하여 사용자의 현재 위치를 표시 할 수 있습니다. 사용자가 이동할 때보기 및 위치 표식이 업데이트됩니다.
이렇게하는 가장 좋은 방법은지도 카메라가 새 위치로 업데이트 될 때마다 사용자의 현재 위치를 추가 한 다음 해당 경로에서 폴리 라인을 만드는 GMSMutablePath 개체를 만드는 것입니다. 나는 이것을 위해 사용했던 코드는 다음과 같습니다 :
- (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;
}
}
이 실제로 그래서 어떤 도움/조언을 많이 주시면 감사하겠습니다지도상의 폴리 라인을 생성하지 않습니다!
코드의 내용은 무엇입니까? –
@sandeeptomar point는 NSMutable 배열입니다. – ChenSmile