Я застрял в странной проблеме. В настоящее время я работаю над мапкитом на iPhone. Мне нужно показать на карте два маршрута, для которых есть исходный город и два разных пункта назначения. Для маршрута между двумя городами мой код был в порядке. для этой цели в одном месте в моем коде я делал так….
- (void)loadWithStartPoint:(NSString *)startPoint endPoint:(NSString *)endPoint options:(UICGDirectionsOptions *)options {
[googleMapsAPI stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"loadDirections('%@', '%@', %@)", startPoint, endPoint, [options JSONRepresentation]]];
}
В приведенном выше коде stringByEvaluatingJavaScriptFromString передавал javascript моему методу делегата, из-за которого был нарисован маршрут. Теперь мне нужно нарисовать два разных маршрута, для этого я изменил приведенный выше код следующим образом.
- (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]];
mstr = [msg retain];
if (idx == 0)
{
[googleMapsAPI stringByEvaluatingJavaScriptFromString:msg];
}
else {
[NSThread detachNewThreadSelector:@selector(loadroute:) toTarget:self withObject:mstr];
}
}
}
у меня есть следующее для создания и реализации NSThread.
-(void)loadroute :(NSString *)message
{
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
[self performSelectorOnMainThread:@selector(loadComplete:) withObject:message waitUntilDone:YES];
[pool release];
}
-(void)loadComplete:(NSString *)message
{
[googleMapsAPI stringByEvaluatingJavaScriptFromString:message];
}
здесь я создал еще один поток, благодаря которому я мог бы передавать строки в stringByEvaluatingJavaScriptFromString отдельно. Но только последняя строка передается методу делегата. Что мне не хватает? Пожалуйста, помогите мне. Я застрял в этой странной проблеме с прошлой недели. Любая помощь будет оценена по достоинству. Спасибо заранее.