我有一个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