【发布时间】:2015-06-06 00:47:02
【问题描述】:
我正在构建一个使用 Google Maps SDK 跟踪用户位置的 iOS 应用。我通过检查坐标是否存在以及如果它们不存在,则将任何更改的纬度/经度坐标存储在数组中。
这在我绘制折线时效果很好,但是我想获取其中一些坐标并创建方向(沿着街道、道路、路径等)。
有没有办法从这些坐标中获取 10 或 20 个坐标和绘图方向?创建路线后,返回新路线的纬度/经度坐标?
【问题讨论】:
标签: ios google-maps
我正在构建一个使用 Google Maps SDK 跟踪用户位置的 iOS 应用。我通过检查坐标是否存在以及如果它们不存在,则将任何更改的纬度/经度坐标存储在数组中。
这在我绘制折线时效果很好,但是我想获取其中一些坐标并创建方向(沿着街道、道路、路径等)。
有没有办法从这些坐标中获取 10 或 20 个坐标和绘图方向?创建路线后,返回新路线的纬度/经度坐标?
【问题讨论】:
标签: ios google-maps
是的,您必须调用 Google Directions API 并将您的坐标作为航点传递。您还可以告诉 API 这些航点的顺序以跟踪路线。我是这样做的:
用竖线字符分隔要用作航路点的每对坐标|
您可以在此处了解有关如何在路线中使用航点的更多信息:
https://developers.google.com/maps/documentation/directions/#Waypoints
【讨论】:
可能会帮助别人
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;
【讨论】: