我有一種情況,我需要一種加載MKMapView的方式與幾個覆蓋。此地圖視圖不應顯示在屏幕上,我需要它加載的唯一原因是爲了從地圖創建圖像以供其他地方使用。在後臺加載MKMapView,並從它創建UIImage(iPhone和iPad)
我已經在網上看了一下,但我沒有找到解決問題的運氣。請有人幫助我嗎?
這是我到目前爲止已經試過(沒有成功)
// Load the map view
Logs_Map_ViewController *mapViewController = [[Map_ViewController alloc] initWithNibName:@"Map_ViewController" bundle:nil];
mapViewController.GPSCoordinatesToPlot = [someDictionary objectForKey:kGPSCoords];
// Take a picture of the map
UIImage *mapImage = [mapViewController convertMapToImage];
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(mapImage)];
NSString *base64String = [imageData base64EncodedString];
注:這是非常重要的應用程序等待地圖完全負載(從而正確創建圖像)。
我曾嘗試實施這一委託的方法,但它從來沒有顯示過包含mapview的視圖。 –
啊,是的。你是對的,你幾乎肯定不能在不顯示mapView的情況下得到實際的地圖圖像,因爲這是觸發它獲取數據的原因。另外,我只是提出這個問題,因爲StackOverflow社區幾乎肯定會讓你迴應,如果我不這樣做,那可能是違反了Google的服務條款,將MKMapView數據用於除了實際顯示以外的任何內容一張地圖。 IANAL,我沒有聯繫到Google,只是提到它。無論如何,MKMapView並不能真正用作不可見的數據源。 – strings42
啊,我明白了,謝謝。我沒有意識到這是一個問題 - 我假定拍攝地圖併發送電子郵件是可以的。感謝您的澄清。 –