航点:JSONRepresentation失败。错误跟踪是:(null)

时间:2013-09-02 18:18:40

标签: ios json google-maps

iphone项目与谷歌地图api:

我试图通过“通过”点或航路点来实现航路点以获得更多的自定义和自定义路线。但“JSON表示”给了我一头白发...

我通过谷歌搜索尝试了一些建议,但没有任何接缝可以工作,没有人有完全相同的问题。它无论如何都会返回null? 我的想法是谷歌改变了api中的东西,但我不能找到错误并导致它...

我真的希望有人知道如何解决这个问题。

我使用kishikawakatsumis作为参考MapKit-Route-Directions。 https://github.com/kishikawakatsumi/MapKit-Route-Directions

电话是这样的:

 if ([wayPoints count] > 0) {
NSArray *routePoints = [NSArray arrayWithObject:mFirstCity.mCityName];
routePoints = [routePoints arrayByAddingObjectsFromArray:wayPoints];
routePoints = [routePoints arrayByAddingObject:destination];
[mDirections loadFromWaypoints:routePoints options:options];
} else {
[mDirections loadWithStartPoint:mFirstCity.mCityName endPoint:destination options:options];
}

亲切的问候 雅各布

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决方案。 如果你和我的情况相同,你可以用这个方法和另一个方法替换loadFromWayPoints方法:

- (void)loadFromWaypoints:(NSArray *)waypoints options:(UICGDirectionsOptions *)options {

NSString* msg = [NSString stringWithFormat:@"loadFromWaypoints(%@, %@)", [waypoints JSONRepresentation], [options JSONRepresentation]];
mstr = [msg retain];
[self performSelector:@selector(LFWP:)  withObject:msg afterDelay:1];

} - (void)LFWP:(NSString *)消息 {     [googleMapsAPI stringByEvaluatingJavaScriptFromString:message];

}

我还在NSOBJECT + SBJSON.m

中添加了一个(!)
- (NSString *)JSONRepresentation {
SBJsonWriter *jsonWriter = [SBJsonWriter new];    
NSString *json = [jsonWriter stringWithObject:self];
if (!json)
    NSLog(@"-JSONRepresentation failed. Error trace is: %@", [jsonWriter errorTrace]);
[jsonWriter release];
return json;

}

原因是(我的解释)json / google调用需要一点点dalay来获取数据并让他们回来......我不确定这是否正确,但现在可以正常工作。

我希望它可以帮助别人......