路徑規劃
路徑規劃
TGOS MAP API(iOS)路徑規劃功能以服務方式提供,傳送之參數說明如下:
waypoints:使用WKT格式,以多點方式設定,起點為第一點,終點為最後一點,中間其他的點為經過點,輸入坐標系統採用TWD97,中央經線121。
barrier:禁行通過點,使用WKT格式,可以多點方式設定。
avoidhighway:是否避開高速公路;設為true時會避開高速公路,false值則不會避開高速公路。
format:回傳的資料格式,允許傳入的代碼為:JSON、XML、JSONP。
程式範例如下:
NSString *serviceUrl = @"http://gis.tgos.tw/TGRoute/TGRoute.aspx?waypoints=MULTIPOINT(%@)&barrier=MULTIPOINT(%@)&avoidhighway=true&format=json";
- (IBAction)RouteClick:(id)sender {
[self clearList];
PointD * ori = [[PointD alloc]initWithX:303894 andY:2773234]; //設定起點
PointD * wpt1 = [[PointD alloc]initWithX:302218 andY:2769654]; //設定經過點
PointD * dest = [[PointD alloc]initWithX:306108 andY:2770451]; //設定終點
NSString * waypoints =[NSString stringWithFormat:@"%@,%@,%@",[self getPointToString:ori],[selfgetPointToString:wpt1],[self getPointToString:dest]];
PointD * block1 = [[PointD alloc]initWithX:302542 andY:2770901]; //設定禁行點
NSString * barrier = [self getPointToString:block1];
NSString * weburl = [NSString stringWithFormat:serviceUrl,waypoints,barrier];
NSURL * url = [NSURL URLWithString:weburl];
NSError *error;
NSMutableDictionary *ServiceJson = [NSJSONSerialization JSONObjectWithData:[NSData dataWithContentsOfURL:url]
options:NSJSONReadingMutableLeaves
error:&error];
}
服務使用範例如下:
●範例1
規劃條件:
起始點:(303612.53700486914 2768690.081656828)
中間經過點:(296047.3820081763 2768915.1148647685)
終點:(259040.16721320243 2736741.6441568285)
無障礙點
允許經過高速公路
輸出為json格式
服務網址字串:
http://gis.tgos.tw/TGRoute/TGRoute.aspx?wayPoints=MULTIPOINT((303612.53700486914 2768690.081656828),(296047.3820081763 2768915.1148647685),(259040.16721320243 2736741.6441568285))&format=json
●範例2
規劃條件:
起始點:(281552.7972359278 2764658.371687314)
無中間經過點
終點:(280018.21390259446 2758017.3300206475)
障礙點:(303790.82192766626 2770233.605434166)
避開高速公路
輸出為xml格式
服務網址字串:
http://gis.tgos.tw/TGRoute/TGRoute.aspx?waypoints=MULTIPOINT((281552.7972359278 2764658.371687314),(280018.21390259446 2758017.3300206475))&barrier=MULTIPOINT((303790.82192766626 2770233.605434166))&avoidhighway=true&format=xml