ios A點到B點返回幾條線
這個百度差不多給出來了只是預設取得第一條
#pragma mark - 駕車
- (void)onGetDrivingRouteResult:(BMKRouteSearch*)searcher result:(BMKDrivingRouteResult*)result errorCode:(BMKSearchErrorCode)error
{
NSArray* array = [NSArray arrayWithArray:_mapView.annotations];
[_mapView removeAnnotations:array];
array = [NSArray arrayWithArray:_mapView.overlays];
[_mapView removeOverlays:array];
if (error == BMK_SEARCH_NO_ERROR) {
for (int j = 0;j<result.routes.count ; j++) {
BMKDrivingRouteLine* plan = (BMKDrivingRouteLine*)[result.routes objectAtIndex:j];
mycolor = [[UIColor alloc] initWithRed:j==0?0.2:1 green:j==1?0.2:1 blue:j==2?0.2:1 alpha:0.7];
// 計算路線方案中的路段數目
NSInteger size = [plan.steps count];
int planPointCounts = 0;
for (int i = 0; i < size; i++) {
BMKDrivingStep* transitStep = [plan.steps objectAtIndex:i];
if(i==0){
RouteAnnotation* item = [[RouteAnnotation alloc]init];
item.coordinate = plan.starting.location;
item.title = @"起點";
item.type = 0;
[_mapView addAnnotation:item]; // 新增起點標註
}else if(i==size-1){
RouteAnnotation* item = [[RouteAnnotation alloc]init];
item.coordinate = plan.terminal.location;
item.title = @"終點";
item.type = 1;
[_mapView addAnnotation:item]; // 新增起點標註
}
//新增annotation節點
RouteAnnotation* item = [[RouteAnnotation alloc]init];
item.coordinate = transitStep.entrace.location;
item.title = transitStep.entraceInstruction;
item.degree = transitStep.direction * 30;
item.type = 4;
[_mapView addAnnotation:item];
NSLog(@"%@ %@ %@", transitStep.entraceInstruction, transitStep.exitInstruction, transitStep.instruction);
//軌跡點總數累計
planPointCounts += transitStep.pointsCount;
}
// 新增途經點
if (plan.wayPoints) {
for (BMKPlanNode* tempNode in plan.wayPoints) {
RouteAnnotation* item = [[RouteAnnotation alloc]init];
item = [[RouteAnnotation alloc]init];
item.coordinate = tempNode.pt;
item.type = 5;
item.title = tempNode.name;
[_mapView addAnnotation:item];
}
}
//軌跡點
BMKMapPoint * temppoints = new BMKMapPoint[planPointCounts];
int i = 0;
for (int j = 0; j < size; j++) {
BMKDrivingStep* transitStep = [plan.steps objectAtIndex:j];
int k=0;
for(k=0;k<transitStep.pointsCount;k++) {
temppoints[i].x = transitStep.points[k].x;
temppoints[i].y = transitStep.points[k].y;
i++;
}
}
// 通過points構建BMKPolyline
BMKPolyline* polyLine = [BMKPolyline polylineWithPoints:temppoints count:planPointCounts];
[_mapView addOverlay:polyLine]; // 新增路線overlay
delete []temppoints;
[self mapViewFitPolyLine:polyLine];
}
}
}
相關文章
- B+樹的幾點總結
- iOS和Android的點對點連線iOSAndroid
- iOS App從點選到啟動iOSAPP
- 計算兩條直線的交點
- 鄭州iOS點 - 點哥教你去掉Tabbar上沿陰影線iOStabBar
- iOS編碼需要注意的幾點問題iOS
- kafka的幾點Kafka
- 從Objective-C到Swift:幾點想法和意見ObjectSwift
- 致板橋:關於"查詢資料庫後是返回ResultSet還是返回Collection?"的幾點問題資料庫
- JavaScript 點選按鈕返回底部JavaScript
- 無線通訊協議設計的幾點要素協議
- 【計算幾何】求線段相交交點座標
- OOM的起點到終點OOM
- 反連線,最快返回第一條記錄
- POJ 1584-A Round Peg in a Ground Hole(計算幾何-凸包、點到線段距離)
- B+樹要點梳理
- 鄭州iOS點 - 點哥講iOS的時間管理iOS
- 自媒體從入門到精通,主要看這幾點
- 開發安全幾點
- AI領域我重點關注的幾個今日頭條號AI
- iOS 知識點iOS
- Java裡連線字串的幾種方式以及優缺點Java字串
- 點選返回網頁頂層效果網頁
- 點選兩次返回退出程式
- 除錯——條件斷點除錯斷點
- 程式設計師從優秀到卓越的幾點建議程式設計師
- 把資料從MySQL遷到Oracle的幾點注意事項MySqlOracle
- 透漏幾點面試的真相面試
- Oracle的幾點註記Oracle
- 幾點 PHP 小常識PHP
- iOS 實際開發中對效能優化的幾點建議iOS優化
- [IOS]效能關注點iOS
- JavaScript點選兩點繪製直線JavaScript
- JavaScript點選按鈕返回底部詳解JavaScript
- 中國十大B2B電商模式大盤點模式
- echarts 工具條點選事件控制Echarts事件
- POJ 1039-Pipe(計算幾何-線段相交、求交點)
- [分享]iOS開發-圖片點選點選放大iOS