我正在尝试使用Google方向获取路线,但我收到此错误:
错误Domain = org.brautaset.JSON.ErrorDomain Code = 3 \“无法识别 主角(41)\
这是Json
loadDirections('Avenida Paulista', 'Rua Augusta', { 'locale': 'en', travelMode: G_TRAVEL_MODE_WALKING, avoidHighways: false, getPolyline: true, getSteps: true, preserveViewport: false})
什么是错的?什么无法识别的主角(41)是什么意思?
- (void)loadWithStartPoint:(NSString *)startPoint endPoint:(NSMutableArray *)endPoints options:(UICGDirectionsOptions *)options {
for (int idx = 0; idx < [endPoints count];idx ++)
{
NSString* msg = [NSString stringWithFormat:@"loadDirections('%@', '%@', %@)", startPoint, [endPoints objectAtIndex:idx], [options JSONRepresentation]];
NSLog(@"msg %@",msg);
mstr = [msg retain];
[self performSelector:@selector(loadDirections:) withObject:nil afterDelay:0.5];
}
}
-(void)loadDirections:(NSString *)message
{
[googleMapsAPI stringByEvaluatingJavaScriptFromString:mstr];
}
答案 0 :(得分:1)
JSON无效。
{
'locale': 'en',
travelMode: "G_TRAVEL_MODE_WALKING",
avoidHighways: false,
getPolyline: true,
getSteps: true,
preserveViewport: false
}
我认为这与G_TRAVEL_MODE_WALKING有关,它应该在引号中。唯一有效的JSON值如下
{}
)[]
)"this is a string"
)1/-1
true
false
null
答案 1 :(得分:1)
确保在初始化GDirections对象时,还将实际元素作为第二个参数传递。
如documentation中所述:
旅行方式,例如驾驶(默认)或步行。请注意,如果 如果指定行走方向,则需要指定面板 向用户发出警告通知。
如果您使用的是Map-Kit-Route-Directions extensions,则只需打开 api.html 文件,然后在第16行替换
gdir = new GDirections(null, null);
用这个
gdir = new GDirections(null, "body");