參考:http://www.2cto.com/kf/201207/138950.html 寫的比較實在,可以看看
初始化方法1:
CLLocationCoordinate2D startPt = (CLLocationCoordinate2D){0, 0}; //緯度,經度 CLLocationCoordinate2D endPt = (CLLocationCoordinate2D){0, 0};
初始化方法2:
CLLocationCoordinate2D coords = CLLocationCoordinate2DMake(39.915352,116.397105);//緯度,經度
====教訓====
A 代碼段
NSLog(@"駕車路線終點坐標====%f,%f",[_endCoordainateXText floatValue],[_endCoordainateYText floatValue]); endPt = (CLLocationCoordinate2D){[[_endCoordainateXText floatValue],_endCoordainateYText floatValue]};
B 代碼段
NSLog(@"駕車路線終點坐標====%f,%f",[_endCoordainateXText floatValue],[_endCoordainateYText floatValue]); endPt = (CLLocationCoordinate2D){[_endCoordainateXText floatValue],[_endCoordainateYText floatValue]};
請找出A 、 B 兩段代碼的不同!
答案揭曉:A 段代碼 第二行中_endCoordainateYText floatValue]的前半個括號位置不對!B段代碼才是正確書寫。
A段代碼在程序運行中,並不會報錯或者警告。為了找到這個錯誤,犧牲掉了我一整夜的睡眠!!終於擱置到第3天的時候才發現!
上面最要命的是,NSLog 中的代碼寫對了,但實際代碼中確實錯的。這讓我面臨,程序既沒有報錯,控制台輸出也正確的尷尬境地!錯的太隱蔽!