iPhone Google Карты KML Поиск - PullRequest
       8

iPhone Google Карты KML Поиск

0 голосов
/ 28 апреля 2010

Я использую карты Google с запросом KML. Но моя строка запроса "японская" строка "マ ク ド ナ ル ド" Я использую http://maps.google.co.jp. При запросе данных я получаю "0" байтов. Но тот же запрос, когда я ставлю в браузере, его скачать файл 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: запрос]; NSURLRequest * request = [NSURLRequest requestWithURL: url]; NSLog (@ "Quering URL =% @", url);

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

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

1 Ответ

0 голосов
/ 21 мая 2010

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

Попробуйте что-то вроде

NSString * encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(
    NULL,
    (CFStringRef)unencodedString,
    NULL,
    (CFStringRef)@"!*'();:@&=+$,/?%#[]",
    kCFStringEncodingUTF8 );
...