0

我正在尝试使用 google 路线获取路线,但出现此错误:

错误域=org.brautaset.JSON.ErrorDomain 代码=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];

}

4

2 回答 2

1

确保在初始化 GDirections 对象时,您还传递了一个实际元素作为第二个参数。

文档中所述:

出行方式,例如驾车(默认)或步行。请注意,如果您指定步行路线,则需要指定一个面板来向用户​​发出警告通知。

如果您使用的是Map-Kit-Route-Directions 扩展,您只需打开api.html文件,并在第 16 行替换它

gdir = new GDirections(null, null);

有了这个

gdir = new GDirections(null, "body");
于 2013-01-17T14:58:50.043 回答
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

JSON 文档

于 2012-12-19T16:44:06.863 回答