问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ios地图两点间连线,移动后最后一个点总是连接00点求大神解答

发布网友 发布时间:2022-05-06 06:39

我来回答

1个回答

热心网友 时间:2022-06-28 22:27

当我们获取了一组地理位置后,可能会想要在地图上绘制这组地理位置信息所包含的路线。
MKMapView提供了addOverlay功能(以及addAnnotation),让我们可以在地图上放一层遮罩。如果要放一组遮罩,可以用addOverlays。

[cpp] view plain copy
#pragma mark -

- (void)drawLineWithLocationArray:(NSArray *)locationArray
{
int pointCount = [locationArray count];
CLLocationCoordinate2D *coordinateArray = (CLLocationCoordinate2D *)malloc(pointCount * sizeof(CLLocationCoordinate2D));

for (int i = 0; i < pointCount; ++i) {
CLLocation *location = [locationArray objectAtIndex:i];
coordinateArray[i] = [location coordinate];
}

self.routeLine = [MKPolyline polylineWithCoordinates:coordinateArray count:pointCount];
[self.mapView setVisibleMapRect:[self.routeLine boundingMapRect]];
[self.mapView addOverlay:self.routeLine];

free(coordinateArray);
coordinateArray = NULL;
}

MKPolyLine为我们提供了方便绘制多条线段的功能,它实现了MKOverlay协议,但并不能作为遮罩。我们需要实现相应的遮罩代理方法:

[cpp] view plain copy
#pragma mark - MKMapViewDelegate

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay
{
if(overlay == self.routeLine) {
if(nil == self.routeLineView) {
self.routeLineView = [[[MKPolylineView alloc] initWithPolyline:self.routeLine] autorelease];
self.routeLineView.fillColor = [UIColor redColor];
self.routeLineView.strokeColor = [UIColor redColor];
self.routeLineView.lineWidth = 5;
}
return self.routeLineView;
}
return nil;
}

下面是我的测试代码,用北京的经纬度和杭州的经纬度画线:

[cpp] view plain copy
- (void)drawTestLine
{
CLLocation *location0 = [[CLLocation alloc] initWithLatitude:39.954245 longitude:116.312455];
CLLocation *location1 = [[CLLocation alloc] initWithLatitude:30.247871 longitude:120.127683];
NSArray *array = [NSArray arrayWithObjects:location0, location1, nil];
[self drawLineWithLocationArray:array];
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
“晚来天欲雪,能饮一杯无?”是什么意思_出处及原文翻译_学习力 胸肌中部怎么练 血沉高是怎么回事,怎样才能降低啊! 中海锦江城多久交房 “QMS”作为“质量管理体系”的英文缩写,其背后理论及应用如何?_百度... 我用QQ登的快手绑定了一个电话号码,电话号码不用了,现在怎么能登得进去... 桂林银行白金客户条件 桂林银行最高等级卡 iQOO 11系列曝光,预计年底正式发布! vivo X90先别买?iQOO 11系列配置堪称豪华 如何通过mapinfo将地图上的点连成线,然后将连线转换成区域 连线题(1)将下列地图与其相适宜的用途进行连线.(2)地球运动及产生的地理现象对应连线 地图通视公式 地图上海拔高度相同点的连线叫做什么,同一条等高线上不同的点什么相同?等高线密集坡度什么 地理上两地间直线连线是什么意思 百度地图 怎么把标注用线连接起来??求大神解答。 梦见死了很久的人有什么征兆吗? 杭州周边城市首套首贷是几成? 梦见已故的爸妈头在粪坑里面妈妈要我抱他这是什么意思? 梦见死人趴在大粪坑里,我不小心做坐在粪坑里,蘸了一*粪汤是什么意思 美剧24小时 美剧《24小时》 美剧《24小时》中英双字幕 在家做锅巴,如何做? 美剧24小时∶再活一天 从第一季到第九季,用了多少年? 美剧《24小时》八季共跨度多少年 油炸锅巴,自己泡的糯米温水泡了一夜,炸得还是不酥,是油温问题吗?炸锅巴油温应该多少度左右? 美剧《24小时》的问题 美剧24小时第一季里面,演查德.沃尔什的演员是谁啊?看着好眼熟,他还演过什么? 美剧《24小时》好看吗? 这样的地图上的连线怎么做(不发光也可以) 请问如何在地图上加城市点,并用连线连起来呢,急!!! 投影仪灯泡需要电压多少?高压汞灯需要多大电压? 寒假a计划五年级上册的寒假作文 五年级上册作文愉快的寒假 五年级(上册)作文(寒假里难忘的一件事) 投影仪电源线不见了,可以用电脑电源线吗? 五年级上册寒假作文除了我家的除夕夜还有什么作文 五年级上册寒假作文 不要题目 第一节不用谢 第一节是 在成长的过程中,有许多……写这篇作文前面有我写的 五年级上册寒假英语作文十篇 我的假期 5万毫安充电宝可以带上飞机吗? 4000毫安充电宝能不能带上飞机? 平安和人寿保险的区别 纯棉的衣服上沾了书画用墨汁,怎么洗掉啊??快点,急需答案!!! 中国人寿和平安人寿保险公司的区别有哪些 QQ黄钻如何激活 qq黄钻怎么激活 黄钻怎么激活开通 怎么激活qq黄钻 QQ黄钻怎么激活啊?