我知道谷歌地图被认为是最好的地图,但我不想下载一堆额外的库之类的。我更喜欢做一些快速简单的事情来获得从 A 点到 B 点的快速路线并完成它。有没有办法使用内置函数/库来做到这一点?有人能指出我正确的方向吗?
EDIT
我并不是想逐个轮流指示或任何我的情况,我只是想从开始到结束画一条线。也许可以提供有关采取哪些路线的选项。有没有办法做到?
在 iOS 7 中,您可以使用以下方式获取和显示路线MKDirectionsRequest
.
以下是一些用于显示从当前位置到另一个地图项的路线的示例代码:
MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init];
[request setSource:[MKMapItem mapItemForCurrentLocation]];
[request setDestination:myMapItem];
[request setTransportType:MKDirectionsTransportTypeAny]; // This can be limited to automobile and walking directions.
[request setRequestsAlternateRoutes:YES]; // Gives you several route options.
MKDirections *directions = [[MKDirections alloc] initWithRequest:request];
[directions calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse *response, NSError *error) {
if (!error) {
for (MKRoute *route in [response routes]) {
[myMapView addOverlay:[route polyline] level:MKOverlayLevelAboveRoads]; // Draws the route above roads, but below labels.
// You can also get turn-by-turn steps, distance, advisory notices, ETA, etc by accessing various route properties.
}
}
}];
如果您是 iOS 7 的新手,您需要实现mapView:rendererForOverlay:
任何覆盖出现的方法。就像是:
- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay
{
if ([overlay isKindOfClass:[MKPolyline class]]) {
MKPolylineRenderer *renderer = [[MKPolylineRenderer alloc] initWithOverlay:overlay];
[renderer setStrokeColor:[UIColor blueColor]];
[renderer setLineWidth:5.0];
return renderer;
}
return nil;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)