ForgetSou | Blog

❤ 武统台湾 刻不容缓 ❤

0%

一. 简述

假设要在电话簿中找一个名字以K打头的人,可以从头开始翻页,直到进入以K打头的部分。但你很可能不这样做,而是从中间开始,因为你知道以K打头的名字在电话簿中间。
对于上述情况,可以使用一种算法来解决问题,这种算法就是二分查找。
二分查找只适合顺序排列的列表使用。

个人博客: 🏡 ForgetSou


阅读全文 »

1. 效果图

image-20211028094858937

2. 实现思路

2.1. 最初想法

起初思路是在 MKMapView上点的下方添加一个箭头ViewimageView,通过两点计算角度并控制箭头的旋转实现和线重合,一顿操作下来发现角度计算的并不是特别的准确,而且在 MKMapview旋转时,箭头也跟着旋转,无法和线重合,最终也是放弃了这个思路。

2.2. 新思路

通过定义一个 MKPolylineRenderer的子类 PVMTPolylineRenderer,重写父类的 \- (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)context 方法进行箭头绘制。

3. 具体代码实现

3.1 在 iOS系统中,使用 MKMapView进行地图定位并绘制;

3.2 在地图上根据多个点的经纬度绘制标注(点),并根据这些标注控制地图画布大小和缩放比例;

阅读全文 »