我有一个 iPhone 应用程序,我想在其中绘制 map 上两个位置之间的路线。位置由坐标(纬度、经度)引用。
为了加载这两个位置之间的路径点,我使用一个访问谷歌地图的脚本,方法如下:
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 应用程序......这就是我调用此方法的方式:
[方向 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
的格式。
重要提示:当我使用 startPoint
和 endPoint
的 null
值调用上述方法时,应用程序可以正常工作。
有人有什么想法吗? 我已经尽力解释得很清楚了!!!!!我在这里以防有不清楚的地方!
最佳答案
我认为这可以解决您的问题,
NSString *startPoint; NSString *endPoint;
startPoint = [NSString stringWithFormat:@"%@,%@", latitudeString, longitudeString]; endPoint = [NSString stringWithFormat:@"%@,%@",partenaire_lat,partenaire_lng];
[起始点保留]; [端点保留];
关于iphone - iphone NSString 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7582870/