Вы должны использовать то же число "% @", и переменные, которые вы передаете, изменяют ваш код примерно так -
strurl = [[NSString alloc]initWithFormat:@"http://maps.googleapis.com/maps/api/directions/json?origin=%@&destination=%@&waypoints=optimize:true%@&sensor=false&mode=driving",sttr,destinationStr,anotherVar];
Также я не понимаю, почему у вас здесь есть "% @" -
waypoints=optimize:true%@&s
если вы извлекаете содержимое из этого URL-адреса, которое может быть нулевым, вам следует закодировать строку URL-адреса перед созданием NSURL-кода из нее .. используйте эту функцию -
-(NSString *) URLEncodeString:(NSString *) str
{
NSMutableString *tempStr = [NSMutableString stringWithString:str];
[tempStr replaceOccurrencesOfString:@" " withString:@"+" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [tempStr length])];
return [[NSString stringWithFormat:@"%@",tempStr] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}