作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在我的应用程序中实现了一个 map 功能,允许用户通过平移来设置他们的当前位置。
一直以来,我都希望在 centerCoordinate
中有一个 MKAnnotation
。所以我想做的是跟踪 map 的 centerCoordinate 何时更改并正确更改注释的坐标。该行为类似于 Uber、Hailo 和其他公司的行为。
我尝试了一个基于时间的实现,其中每 0.00001s 将检查 centerCoordinate
并且注释也会被移动。但是,如果不轻轻地轻弹 map ,注释就会从一个地方跳到另一个地方,这不会构成良好的 UI。
我尝试的另一种实现是通过手势识别器和 MKMapView
的委托(delegate)方法 (regionDidChange
/regionWillChange
)。这再次导致非常突然的转变。
谁能告诉我如何做得更好?
最佳答案
我建议不要使用实际的 id<MKAnnotation>
完全没有(至少对于这个“当前位置设置”模式)。
相反:
UIImageView
),其中包含图钉(或您喜欢的任何图标)的图像。 UIImageView
,将其内容模式设置为“居中”,将背景颜色设置为“清晰”(默认为清晰)。mapView.centerCoordinate
获取位置坐标在regionDidChangeAnimated:
MKMapViewDelegate 方法(或平移/捏合手势识别器)或仅当用户说他们完成定位时。我不建议使用计时器(尤其是每 0.00001 秒一次)来查询当前中心坐标。关于ios - 平移时跟踪 MKMapView centerCoordinate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20731589/
我在我的应用程序中实现了一个 map 功能,允许用户通过平移来设置他们的当前位置。 一直以来,我都希望在 centerCoordinate 中有一个 MKAnnotation。所以我想做的是跟踪 ma
我是一名优秀的程序员,十分优秀!