一. 简述
假设要在电话簿中找一个名字以K打头的人,可以从头开始翻页,直到进入以K打头的部分。但你很可能不这样做,而是从中间开始,因为你知道以K打头的名字在电话簿中间。 |
对于上述情况,可以使用一种算法来解决问题,这种算法就是二分查找。 |
二分查找只适合顺序排列的列表使用。 |
个人博客: 🏡 ForgetSou
起初思路是在 MKMapView
上点的下方添加一个箭头View
或imageView
,通过两点计算角度并控制箭头的旋转实现和线重合,一顿操作下来发现角度计算的并不是特别的准确,而且在 MKMapview
旋转时,箭头也跟着旋转,无法和线重合,最终也是放弃了这个思路。
通过定义一个 MKPolylineRenderer
的子类 PVMTPolylineRenderer
,重写父类的 \- (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)context
方法进行箭头绘制。
3.1 在 iOS
系统中,使用 MKMapView
进行地图定位并绘制;
3.2 在地图上根据多个点的经纬度绘制标注(点),并根据这些标注控制地图画布大小和缩放比例;