我有一个iPhone应用程序,我想在其中绘制地图上两个位置之间的路线。位置由其坐标(纬度,经度)引用。
为了在这两个位置之间加载航路点,我使用了一种使用google maps的脚本,该方法如下:
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];
我认为它不喜欢格式化
startPoint
和endPoint
的方式。重要说明:当我使用
null
和startPoint
的endPoint
值调用上述方法时,该应用程序可以运行。有人知道吗?
我尽力清楚地解释了它!!!我在这里,以防万一!
最佳答案
我认为这可以解决您的问题,
NSString * startPoint;
NSString * endPoint;
startPoint = [NSString stringWithFormat:@“%@,%@”,latitudeString,longitudeString];
endPoint = [NSString stringWithFormat:@“%@,%@”,partenaire_lat,partenaire_lng];
[startPoint保留];
[endpoint保留];
关于iphone - iPhone NSString的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7582870/