我有一个iPhone应用程序,我想在其中绘制地图上两个位置之间的路线。位置由其坐标(纬度,经度)引用。

为了在这两个位置之间加载航路点,我使用了一种使用google maps的脚本,该方法如下:

function loadDirections(from, to, options) {
        gdir.load("from: " + from + " to: " + to, options);
    }


from应采用以下形式:46.777248,23.59989to也应这样: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];


我认为它不喜欢格式化startPointendPoint的方式。

重要说明:当我使用nullstartPointendPoint值调用上述方法时,该应用程序可以运行。

有人知道吗?
我尽力清楚地解释了它!!!我在这里,以防万一!

最佳答案

我认为这可以解决您的问题,

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/

10-14 22:11