2016-06-20 18 views
0

MKMapViewでOpenStreetMapマップを表示するために、MKTileOverlayを使用します。例えば。 MKTileOverlay機構によりMKTileOverlay:タイルキャッシュをクリアする方法とタイルをリロードする方法

MKTileOverlay *overlay = [[MKTileOverlay alloc] initWithURLTemplate:@"http://tile.openstreetmap.org/{z}/{x}/{y}.png"]; 
[self.mapView addOverlay:overlay level:MKOverlayLevelAboveLabels]; 

、ロードおよびキャッシングはMKTileOverlayのRESPによって処理されます。 MKMapView。 今、私たちはいくつかの奇妙な行動を観察することができます。

長時間使用するとパフォーマンスが低下するようです(メモリの問題が原因である可能性があります)。 このような場合、一部のタイルは空のままです。

したがって、我々は次のような質問があります。

誰もがメモリの問題を回避するために、タイルキャッシュをクリアする方法を知っていますか? 問題が以前に発生した場合、特定のタイルを再ロードする方法を知っている人はいますか?

フィードバックとご提案いただきありがとうございます。この

https://developer.apple.com/library/mac/documentation/MapKit/Reference/MKTileOverlayRenderer_class/#//apple_ref/occ/instm/MKTileOverlayRenderer/reloadData

そこで

マイケル

答えて

0

外観は、データ

をリロードするMKTileOverlayRenderer(レンダラではなく、オーバーレイ)のための関数呼び出しであると私はどのように記載されており、this tutorialを見つけましたMKTileOverlayRendererを実装します。このレンダラーでは、setNeedsDisplayIn(areaToRedraw)(Swift3)を呼び出すことで、必要なタイルだけを更新することができます。

関連する問題