我一直在阅读适用于 iOS 的 Google Maps SDK 的文档,但没有看到任何关于在地图上绘制路线的信息。
我知道折线可用,但我认为这不是最好的方法。
是否可以?
我一直在阅读适用于 iOS 的 Google Maps SDK 的文档,但没有看到任何关于在地图上绘制路线的信息。
我知道折线可用,但我认为这不是最好的方法。
是否可以?
iOS SDK 尚不支持方向。与此同时,您可以使用Directions API Web 服务并使用 GMSPolyline 自己渲染路线。
您还应该提交功能请求以将其添加到 SDK。
作为 Saxon Druce 的回答,您可以使用 Google Maps Directions 网络服务来查找路线并通过折线绘制它们。这一集将向您展示如何实现它,您可以从这个github 存储库下载示例代码。
库中的某些内容不在文档中,因此如果您正在寻找功能,则值得下载 SDK 并查看标题。
但是在当前版本 1.0.2 中,我看不到任何路由信息 - 搜索路由或绘制它们(甚至查找地址)。目前,您唯一的选择可能是使用其他一些 Google API 来查找路线,然后正如 Lee 所说,使用折线来绘制它们。
我有类似的问题,我需要使用相同的谷歌地图 ios sdk 在谷歌地图上绘制方向路径。我所做的是访问Google Distance API。
我使用以下代码从 API 中提取了 html_instructions 和 end_location。
我将这些变量定义为属性
@property NSMutableArray *detailedSteps;
@property (strong, nonatomic) IBOutlet GMSMapView *mapview;
并使用以下代码提取 end_location 和 html_instructions
NSURL *url=[[NSURL alloc] initWithString:[NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/directions/json?origin=ahmedabad&destination=%@",self.city]];
NSURLResponse *res;
NSError *err;
NSData *data=[NSURLConnection sendSynchronousRequest:[[NSURLRequest alloc] initWithURL:url] returningResponse:&res error:&err];
NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
NSArray *routes=dic[@"routes"];
NSArray *legs=routes[0][@"legs"];
NSArray *steps=legs[0][@"steps"];
NSMutableArray *textsteps=[[NSMutableArray alloc] init];
NSMutableArray *latlong=[[NSMutableArray alloc]init];
for(int i=0; i< [steps count]; i++){
NSString *html=steps[i][@"html_instructions"];
[latlong addObject:steps[i][@"end_location"]];
[textsteps addObject:html];
}
self.detailedSteps=textsteps;
[self showDirection:latlong];
这是我在地图上绘制多边形的方法 showDirection。在这里,我传递了 latlong 数组。这实际上是 end_location 数组。
-(void)showDirection:(NSMutableArray*) latlong{
GMSMutablePath *path = [GMSMutablePath path];
for(int i=0; i<[latlong count]; i++){
double lat=[latlong[i][@"lat"] doubleValue];
double lng=[latlong[i][@"lng"] doubleValue];
[path addLatitude:lat longitude:lng];
}
NSLog(@"Direction path");
GMSPolyline *polyline = [GMSPolyline polylineWithPath:path];
polyline.strokeColor = [UIColor blueColor];
polyline.strokeWidth = 5.f;
polyline.map = self.mapview ;
}
即使是 1.1.0 版也没有实现任何指示工具,所以我建议使用 URL 方案以获得最佳性能。
我认为现在可以使用Google Maps iOS SDK绘制路线/方向。
在此处关注官方视频教程:http: //talkminer.com/viewtalk.jsp?videoid=AdV7bCWuDYg&q=&row=4&
N=5#.Ui2H1mSAZTE