我必须使用谷歌地图显示两个地点之间的路线,但我在两个地点之间只是直线,我使用下面的代码
- (void)viewDidLoad {
[super viewDidLoad];
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
longitude:151.20
zoom:6];
mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];
mapView_.myLocationEnabled = YES;
// Creates a marker in the center of the map.
GMSMarker *marker = [[GMSMarker alloc] init];
marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
marker.title = @"Sydney";
marker.snippet = @"Australia";
marker.map = mapView_;
GMSMutablePath *path = [GMSMutablePath path];
[path addCoordinate:CLLocationCoordinate2DMake(@(-33.860).doubleValue,@(151.208).doubleValue)];
[path addCoordinate:CLLocationCoordinate2DMake(@(-32.860).doubleValue,@(150.208).doubleValue)];
GMSPolyline *rectangle = [GMSPolyline polylineWithPath:path];
rectangle.strokeWidth = 2.f;
rectangle.map = mapView_;
self.view = mapView_;
}
请告诉我如何做到这一点,我已经看过各种以前这种类型的问题,但没有得到。 请帮我... 任何帮助将不胜感激......
答案 0 :(得分:1)
这并不是这样的。您只为GMSMutablePath
添加了两个坐标,因此生成的GMSPolyline
是一条直线。
如果您想获得两点之间的路线,则需要使用路径API,例如Google Maps Directions API,使用HTTP请求计算位置之间的路线。