2010-04-28 2 views
0

Я использую карты Google с запросом KML. Но моя строка запроса - «японская» строка «マ ク ド ナ ル ド» Я использую http://maps.google.co.jp. При запросе данных я получаю байты «0». Но тот же запрос, когда я помещал в браузер, загружал KML-файл. Мой код выглядит следующим образом:iPhone Google Maps KML Поиск

query = [NSString stringWithFormat:@"http://maps.google.co.jp/maps?&near=%f,%f&q=マクドナルド&output=kml&num=%d", lat,lon, num]; 

NSURL * url = [NSURL URLWithString: query]; NSURLRequest * запрос = [запрос NSURLRequestWithURL: url]; NSLog (@ "URL запроса =% @", url);

NSHTTPURLResponse *response = [[NSHTTPURLResponse alloc] autorelease]; 
NSData *myData = [NSURLConnection sendSynchronousRequest:request returningResponse: &response error: nil ]; 
NSInteger errorcode = [response statusCode]; 

Я получаю «myData» с 0 байтами. Зачем?

ответ

0

Вам необходимо URL-адрес японского текста. Браузер обычно автоматически кодирует текст для вас, но NSURL не будет.

Try что-то вроде

NSString * encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(
    NULL, 
    (CFStringRef)unencodedString, 
    NULL, 
    (CFStringRef)@"!*'();:@&=+$,/?%#[]", 
    kCFStringEncodingUTF8); 
Смежные вопросы