1、建立地理編碼物件
2、呼叫方法去獲取地標
3、獲取clplacemark物件
4、建立mkplacemark
5、建立mkmapitem起點位置
6、建立mkmapitem終點的位置
7、建立方向請求的物件
8.、建立方向物件
9、計算兩個點之間的路線,去獲取路線的資訊,route中有個polyline折線屬性
10、新增到地圖上面呼叫addoverly,被新增的物件需要遵守這個協議
11、在**方法中建立地圖的渲染物,設定線條的顏色,如果我們不設定就會導致看不見,然後返回物件
**如下所示
#import "viewcontroller.h"
#import #import @inte***ce viewcontroller ()//在storyboard中的乙個文字輸入框,讓我們輸入地點使用
@property (weak, nonatomic) iboutlet uitextfield *textfield;
@property (nonatomic ,strong)clgeocoder *geocoder;
@property (weak, nonatomic) iboutlet mkmapview *mapview;
@property (nonatomic ,strong)cllocationmanager *manager;
@end
@implementation viewcontroller
-(clgeocoder *)geocoder
return _geocoder;
}-(cllocationmanager *)manager
return _manager;
}- (ibaction)startguide:(id)sender
//遍歷陣列去選取資料,取最後乙個地標
clplacemark *placemark = placemarks.lastobject;
//建立mkplacemark物件
mkplacemark * pmk = [[mkplacemark alloc]initwithplacemark:placemark];
//獲取現在的地標
mkmapitem * currentitem = [mkmapitem mapitemforcurrentlocation];
//獲取目的的地標
mkmapitem * destinationitem = [[mkmapitem alloc]initwithplacemark:pmk];
//實現畫線的方法
//導航和畫線其實都是像蘋果伺服器去傳送請求
//1、首先我們要去建立方向的請求物件
mkdirectionsrequest * request = [mkdirectionsrequest new];
//設定起點
request.source = currentitem;
//設定終點
request.destination = destinationitem;
//2、建立方向物件
mkdirections * directions = [[mkdirections alloc]initwithrequest:request];
//3.計算兩點之間的路線
[directions calculatedirectionswithcompletionhandler:^(mkdirectionsresponse * _nullable response, nserror * _nullable error)
//5、獲取路線資訊
for(mkroute * route in response.routes)
}];}];
}- (void)viewdidload
//顯示使用者的位置
self.mapview.usertrackingmode = mkusertrackingmodefollow;
//設定**屬性
self.mapview.delegate = self;
}#pragma mark 設定地圖渲染物
-(mkoverlayrenderer *)mapview:(mkmapview *)mapview rendererforoverlay:(id)overlay
效果圖如下
兩個棧實現佇列 兩個佇列實現棧
1.兩個棧實現佇列 大致思路 入佇列時,將元素入棧s1,出佇列時,將s2中的元素出棧即可,如果s2為空,那麼將s1中 s1.size 1 個元素出棧,加入到s2中,然後將s1中最後乙個元素出棧,即完成了出佇列的操作 include using namespace std include includ...
兩個棧實現佇列,兩個佇列實現棧
include include include using namespace std 使用兩個棧實現佇列,實現了push,pop,front操作 其中棧s2是輔助棧,push直接在s1中插入 pop從s2中出棧,如果s2是空的,將s1倒進s2,然後再出棧,這樣減少了倒棧次數,比較高效。front就...
兩個棧實現佇列 兩個佇列實現棧
一 題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。二 1 自己 基本思路 乙個棧用於壓縮,乙個專門用於彈出。因為棧是先進後出,所有的元素入棧再出棧,再入棧就可以將順序調整過來。但是沒有想到優化。class solution int pop int tem...