2010-04-28 126 views
0

我正在使用帶有KML查詢的Google地圖。但我的查詢字符串是「日語」字符串「マクドナルド」我使用http://maps.google.co.jp 請求數據時,我得到「0」字節。但是,當我把它放入瀏覽器時,同樣的查詢,它下載一個KML文件。我的代碼如下:iPhone谷歌地圖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 * 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]; 

我收到0字節的「myData」。爲什麼?

回答

0

您需要對日文文本進行URL編碼。瀏覽器通常會自動爲您編碼文本,但NSURL不會。

嘗試像

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