我有一個iphone應用程序,我想在地圖上的兩個位置之間繪製路線。位置由它們的座標(經度,緯度)來表示。問題與iPhone NSString
對於加載我使用存取權限谷歌地圖的腳本,用這種方法這兩個位置之間的航路點:
function loadDirections(from, to, options) {
gdir.load("from: " + from + " to: " + to, options);
}
from
應該是這樣的形式:46.777248,23.59989
和to
也是這樣的:44.437711,26.097367
。
換句話說,如果我寫的這個方法是這樣的:
function loadDirections(from, to, options) {
gdir.load("from:46.777248,23.59989 to:44.437711,26.097367 ", options);
}
一切都很好。
現在,進入我的iPhone應用程序....這就是我如何調用此方法:
[directions loadWithStartPoint:startPoint endPoint:endPoint options:options];
- (void)loadWithStartPoint:(NSString *)startPoint endPoint:(NSString *)endPoint options:(UICGDirectionsOptions *)options {
[googleMapsAPI stringByEvaluatingJavaScriptFromString:
[NSString stringWithFormat:@"loadDirections('%@', '%@', %@)", startPoint, endPoint, [options JSONRepresentation]]];
}
換句話說,startPoint
應該包含的第一個位置類似的座標這:
46.777248,23.59989和endPoint
應該有相同的形式。
所以在我的iPhone應用程序,我收到的經緯度爲startPoint
,也爲endPoint
,爲了讓他們所要求的形式,我有這個下:
NSString *startPoint;
NSString *endPoint;
startPoint = [NSString stringWithFormat:@"%@,%@", latitudeString, longitudeString];
endPoint = [NSString stringWithFormat:@"%@,%@", partenaire_lat, partenaire_lng];
但是,當我調用JavaScript通過這個
options.travelMode = UICGTravelModeDriving;
[directions loadWithStartPoint:startPoint endPoint:endPoint options:options];
應用blocks.I假設它不喜歡startPoint
和endPoint
被格式化的方式。
重要提示:當我通過null
的startPoint
和endPoint
的值調用上述方法時,該應用可以正常工作。
任何人有任何想法? 我盡我所能解釋清楚!!!!!我在這裏以防萬一有些事情不清楚!
如果你記錄你發送給'stringByEvaluatingJavascriptFromString'的字符串,你會看到什麼? – jrturton
在你的endPoint,partenaire_lat和partenaire_lng也字符串?如果沒有,%@應該是%f – phi
@Irene bith是字符串 – adrian