我正在构建一个使用Google Maps SDK跟踪用户位置的iOS应用。我通过检查坐标是否存在来存储任何已更改的纬度/经度坐标,如果它们不存在则会附加。
当我绘制折线时这很有效但是我想采取一些坐标并创建方向(按照街道,道路,路径等)。
有没有办法说出10或20坐标并绘制出来的方向?创建方向后,返回新路径的纬度/经度坐标?
答案 0 :(得分:0)
是的,您必须调用Google Directions API并将您的坐标作为航点传递。您还可以告诉API这些路点的顺序以跟踪路线。我已经这样做了:
将要用作航点的每对坐标与竖线字符|
分开您可以在此处了解有关如何在路线中使用航点的更多信息:
https://developers.google.com/maps/documentation/directions/#Waypoints
答案 1 :(得分:0)
可以帮助别人
GMSCameraPosition *cameraPosition=[GMSCameraPosition cameraWithLatitude:13.0733838 longitude:80.19203929 zoom:12];
_mapView =[GMSMapView mapWithFrame:CGRectZero camera:cameraPosition];
GMSMarker *marker=[[GMSMarker alloc]init];
marker.position=CLLocationCoordinate2DMake(13.0733838, 80.19203929);
marker.icon=[UIImage imageNamed:@"mappinblue"] ;
marker.groundAnchor=CGPointMake(0.5,0.5);
marker.map=_mapView;
GMSMutablePath *path = [GMSMutablePath path];
[path addCoordinate:CLLocationCoordinate2DMake(@(13.0733838).doubleValue,@(80.19203929).doubleValue)];
[path addCoordinate:CLLocationCoordinate2DMake(@(13.074099).doubleValue,@(80.1919654).doubleValue)];
[path addCoordinate:CLLocationCoordinate2DMake(@(13.070933).doubleValue,@(80.1842051).doubleValue)];
[path addCoordinate:CLLocationCoordinate2DMake(@(13.0770034).doubleValue,@(80.21175909999999).doubleValue)];
[path addCoordinate:CLLocationCoordinate2DMake(@(13.0784528).doubleValue,@(80.2120139).doubleValue)];
[path addCoordinate:CLLocationCoordinate2DMake(@(13.078285).doubleValue,@(80.21424979999999).doubleValue)];
[path addCoordinate:CLLocationCoordinate2DMake(@(13.0774898).doubleValue,@(80.21416479999999).doubleValue)];
[path addCoordinate:CLLocationCoordinate2DMake(@(13.0774401).doubleValue,@(80.2146616).doubleValue)];
GMSPolyline *rectangle = [GMSPolyline polylineWithPath:path];
rectangle.strokeWidth = 4.f;
rectangle.map = _mapView;