2015-10-28 242 views
0

我正在使用MKTileOverlay在Apple地圖上覆蓋舊地圖。MKTileOverlay - 」在此服務器上找不到請求的URL。「

覆蓋物平鋪並覆蓋約10平方英里的區域。

所有似乎正常工作,覆蓋層呈現正確。

但是,看起來渲染器正試圖加載視圖中整個區域的疊加拼貼,即使拼貼圖像文件因爲位於疊加貼圖區域之外而不存在時也是如此。

這會導致記錄錯誤消息流。

Error Domain=NSURLErrorDomain Code=-1100 
"The requested URL was not found on this server." 

我已經嘗試繼承MKTileOverlay並捕獲URL未找到但沒有成功的情況。

有誰知道如何解決這個問題?

回答

0

感謝用戶:junkpile在蘋果開發者論壇上,需要繼承MKTileOverlay限制boundingMapRect所需大小。

import MapKit 
class CustomTileOverlay : MKTileOverlay { 

     override var boundingMapRect: MKMapRect { 
      get { 
       //North-East Corner of overlay region 
       let lat1 = 53.46075 
       let long1 = -1.92618 
       //South-West Corner of overlay region 
       let lat2 = 53.43018 
       let long2 = -1.992885 

       //Convert to Coordinates 
       let coord1 = CLLocationCoordinate2DMake(lat1,long1) 
       let coord2 = CLLocationCoordinate2DMake(lat2,long2) 

       //Convert to map points 
       let p1 = MKMapPointForCoordinate (coord1); 
       let p2 = MKMapPointForCoordinate (coord2); 

       //Return the MKMapRect 
       return MKMapRectMake(fmin(p1.x,p2.x), fmin(p1.y,p2.y), fabs(p1.x-p2.x), fabs(p1.y-p2.y)); 
      } 
     } 
} 
相關問題