2015-02-24 24 views
0

這是我的代碼:Objective-C的谷歌靜態地圖返回nil

#define GOOGLE_STATIC_MAP_IMAGE @"https://maps.googleapis.com/maps/api/staticmap?center=%@&zoom=15&size=320x150&maptype=roadmap&markers=color:green|label:H|%@" 

-(UIImage*)GetGoogleStaticMap 
{ 
    NSString* coordinates = [NSString stringWithFormat:@"%f,%f", latitude, longitude]; 
    NSString *stringURL = [NSString stringWithFormat:GOOGLE_STATIC_MAP_IMAGE, coordinates, coordinates]; //coordinates x2 = for the center & the marker 
    NSURL *url = [NSURL URLWithString:stringURL]; 
    NSData *imageData = [[NSData alloc] initWithContentsOfURL:url]; 
    UIImage *image = [UIImage imageWithData:imageData]; 

    return image; 
} 

,如果我貼stringURL到瀏覽器中,我得到了想要的結果,但爲imageData返回nil - 想法?

回答

1

它可能由於字符串中的某些字符而返回nil。

在創建url對象之前,請在您的stringURL上嘗試呼叫stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding

例如:

newStringURL = [stringURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];