首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MKOverlay更新闪烁

MKOverlay更新闪烁
EN

Stack Overflow用户
提问于 2011-10-27 23:48:16
回答 2查看 1.5K关注 0票数 4

在我的应用程序中,我使用MKPolyline跟踪用户的路径。有时候(不是所有的时候,我都不明白),当一个新的线段被添加到地图中时,整条线就会闪烁。有时情况并非如此。这是用来添加行的代码:

代码语言:javascript
复制
CLLocationCoordinate2D coords[2];

coords[0] = CLLocationCoordinate2DMake(newLocation.coordinate.latitude, newLocation.coordinate.longitude);

coords[1] = CLLocationCoordinate2DMake(oldLocation.coordinate.latitude, oldLocation.coordinate.longitude);

MKPolyline* line = [MKPolyline polylineWithCoordinates:coords count:2];

[mapView addOverlay:line];

我是不是遗漏了什么?

编辑:这通常发生在应用程序被发送到后台后返回。但我不太清楚为什么,因为我只是添加一个覆盖,而不是修改整个mapView.overlays数组。...right?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-08 00:23:58

这可能与此无关,但苹果公司在“位置意识编程指南”(Location感知编程指南)的管理Map的覆盖对象部分中确实声明了.

因为映射视图是一个接口项,所以对overlays数组的任何修改都应该同步,并在应用程序的主线程上执行。

票数 1
EN

Stack Overflow用户

发布于 2011-12-08 00:09:25

我认为你最好的选择是在你给用户显示地图之前先把闪光灯处理掉。

尝试以下方法之一:

代码语言:javascript
复制
[mapView setNeedsDisplay];

代码语言:javascript
复制
if ([[mapView overlays] count] > 0){
    [[[mapView overlays] lastObject] setNeedsDisplay];
}

将这些内容放入您的"viewWillAppear“方法或AppDelegate.m中的"applicationWillEnterForeground”方法中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7923751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档