use*_*877 8 iphone mkmapview mkannotation
有没有办法更新(即移动)MKOverlay已添加到MKMapView.删除旧的并添加新的很糟糕(慢).
即我想在屏幕上移动叠加层时触发调用此功能的后台功能:
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
Run Code Online (Sandbox Code Playgroud)
(与MKAnnotions它的好一点我想,但我不能使用MKPolyline,MKPolygon等等,整个信息减少到一个点)
MKOverlayView有以下方法强制 MapKit 重新渲染给定的 mapRect:
- (void)setNeedsDisplayInMapRect:(MKMapRect)mapRect
- (void)setNeedsDisplayInMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale
如果您\xe2\x80\x99使用计时器(或定期HTTP请求或某种其他方法来确定您的覆盖层应该更新),则在overlayView上调用上述方法之一将导致它重新渲染该点在地图上(即将-canDrawMapRect:zoomScale:再次调用,-drawMapRect:zoomScale:inContext:如果前者返回 YES,则将被调用)。
更新:
\n\n如果您\xe2\x80\x99不确定需要重新渲染哪个mapRect,您也许可以使用MKMapRectWorld常量作为mapRect \xe2\x80\x94,我相信这会导致整个地图上的覆盖层重新加载(一旦可见)。
| 归档时间: |
|
| 查看次数: |
10990 次 |
| 最近记录: |