Tôi hiện đang xây dựng ứng dụng ios và tôi hy vọng triển khai một chức năng nơi vị trí của người dùng được hiển thị trên chế độ xem Google Map và khi họ di chuyển một đường dẫn hiển thị của polyline đã được người dùng di chuyển cho đến nay. Điều này rõ ràng là cần phải xảy ra trong thời gian thực.Cách theo dõi vị trí của người dùng và hiển thị đường dẫn được sử dụng Google Maps ios SDK
Cho đến giờ tôi đã khởi tạo chế độ xem Google Maps và có thể hiển thị vị trí hiện tại của người dùng bằng chức năng observValueForKeyPath. Chế độ xem và cập nhật điểm đánh dấu vị trí khi người dùng di chuyển.
Tôi đã tìm ra cách tốt nhất để thực hiện việc này là tạo đối tượng GMSMutablePath thêm vị trí hiện tại của người dùng mỗi khi máy ảnh bản đồ cập nhật vị trí mới và sau đó tạo một polyline từ đường dẫn đó. Mã tôi đã sử dụng cho điều này là dưới đây:
- (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;
}
}
Điều này không tạo ra bất kỳ polyline nào trên bản đồ trong thực tế để mọi trợ giúp/lời khuyên sẽ được đánh giá cao!
điểm trong mã của bạn là gì? –
@sandeeptomar point là một mảng NSMutable. – ChenSmile