我有50多个坐标的列表。在所有这些坐标之间绘制线条(应创建“圆形”路径,因为它们都有显示顺序)的最有效方法是什么,该方法也易于自定义(线条粗细,颜色等)?
谢谢!
我不确定我一定能理解你的问题。如果要查找要MKPolyline
从头到尾显示的点的列表,则需要从这些点创建一个对象,并确保将点以要连接它们的顺序添加到myPoints数组中:
CLLocationCoordinate2D coordinates[[myPoints count]];
int i = 0;
for (Checkpoint *point in myPoints)
{
coordinates[i] = CLLocationCoordinate2DMake([point.lat floatValue] , [point.lon floatValue]);
i++;
}
self.polyline = [MKPolyline polylineWithCoordinates:coordinates count: [myPoints count]];
[mapView addOverlay:self.polyline];
然后确保您正在实现委托方法- mapView:rendererForOverlay:
。这是一个示例,但可以根据您的需要进行调整:
-(MKOverlayRenderer*)mapView:(MKMapView*)mapView rendererForOverlay:(id <MKOverlay>)overlay
{
MKPolylineRenderer* lineView = [[MKPolylineRenderer alloc] initWithPolyline:self.polyline];
lineView.strokeColor = [UIColor blueColor];
lineView.lineWidth = 7;
return lineView;
}
但是,如果您确实想要一个闭环(圆形)对象,那么您将想创建一个MKPolygon
对象。这个过程非常相似。在这种情况下,请使用以下代码替换上面的self.polyline初始化程序:
self.polygon = [MKPolygon polygonWithCoordinates:coordinates count: [myPoints count]];
[mapView addOverlay:self.polygon];
该- mapView:rendererForOverlay:
代码应保持不变,我认为。我尚未测试此代码,但希望它可以使您朝正确的方向发展。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句