安卓系统高德地图放置大头针怎样放置大头针

问题补充&&
本页链接:
用坐标**判断
你没说想要的具体的效果
那我就给你说一种吧
假设你地图上面有n个大头针
实际上也就是n个pointAnnotation
你可以通过_mapView.annotations直接获取到 这是个数组
在点击大头针的方法里面- (void)mapView:(BMKMapView *)mapView didSelectAnnotationView:(BMKAnnotationView *)view{NSArray * array = [NSArray arrayWithArray:_mapView.annotations];
for (int i=0; i&array. i++)
if (view.annotation.coordinate.latitude ==((BMKPointAnno笭户蒂鞠郦角垫携叮毛tation*)array[i]).coordinate.latitude)
//获取到当前的大头针
你可以执行一些操作
//对其余的大头针进行操作
//[_mapView removeAnnotation:array[i]];
}}这要再不采纳
我也就真的无语啦
古屋皓凡 &
我也是刚做的地图,我的做法是:大头针记录坐标.坐标**写入**库,点击大头针可以获取其坐标,根据坐标用**库读出你要的**.个笭户蒂鞠郦角垫携叮毛人做法,请采纳.机密,一般人都不愿透露.
barcelong&
请问一下你的这个问题解决了吗?如果解决了可否告诉我一下怎么解决的
小Cor小曹&
猜你感兴趣主题 : 高德地图上显示多个大头针
级别: 新手上路
可可豆: 10 CB
威望: 10 点
在线时间: 27(时)
发自: Web Page
来源于&&分类
高德地图上显示多个大头针&&&
求大神给我:在高的地图上显示多个大头针的代码,多谢
级别: 新手上路
可可豆: 101 CB
威望: 95 点
在线时间: 172(时)
发自: Web Page
&&&&for (Cinemas *clloctecCinema in array)&&&&&&&&{&&&&&&&&&&&&coor = CLLocationCoordinate2DMake([clloctecCinema.latitude doubleValue], [clloctecCinema.longitude doubleValue]);&&&&&&&&&&&&CusPointAnnotation *pointAnnotation = [[CusPointAnnotation alloc]init];&&&&&&&&&&&&pointAnnotation.coordinate =&&&&&&&&&&&&pointAnnotation.cinemaType = CollectC&&&&&&&&&&&&pointAnnotation.cinema = clloctecC&&&&&&&&&&&&[self.mapView addAnnotation:pointAnnotation];&&&&&&&& &&&&&&&&}
级别: 新手上路
UID: 507532
可可豆: 90 CB
威望: 59 点
在线时间: 48(时)
发自: Web Page
回 1楼(wangt) 的帖子
你的代码里Cinemas是指什么? for (Cinemas *clloctecCinema in array)array里放的是经纬度? 还有pointAnnotation的cinemaType和cinema属性是个什么情况?
级别: 新手上路
可可豆: 2 CB
威望: 2 点
在线时间: 24(时)
发自: Web Page
回 1楼(wangt) 的帖子
你可以写详细点不,,就这么几句代码有用吗???得把全部代码都丢上去的啊
级别: 侠客
UID: 361236
可可豆: 288 CB
威望: 271 点
在线时间: 1040(时)
发自: Web Page
可以看看我的,用for循环添加        NSMutableArray *annotations = [NSMutableArray array];        for (int i = 0; i & _dataSource. i ++) {                        FAMySignModel *model = _dataSource;            _pointAnnotation = [[MAPointAnnotation alloc] init];            //  原始坐标            CLLocation *location = [[CLLocation alloc] initWithLatitude:model.latitude.doubleValue longitude:model.longitude.doubleValue];            //  转换成高德坐标            CLLocationCoordinate2D baiduCoor = CLLocationCoordinate2DMake(location.locationMarsFromBaidu.coordinate.latitude, location.locationMarsFromBaidu.coordinate.longitude);            //  设置大头针            _pointAnnotation.coordinate = baiduC            [annotations addObject:_pointAnnotation];            //  设置中心点            CLLocationCoordinate2D            //  使用百度坐标            coordinate.latitude = baiduCoor.            coordinate.longitude = baiduCoor.            MACoordinateR            region.center =            MACoordinateS            span.latitudeDelta = 0.005;            span.longitudeDelta = 0.005;            region.span =            [_mapView setRegion:region animated:YES];        }        [_mapView addAnnotations:annotations];        //  设置地图使显示区域显示所有annotations        [_mapView showAnnotations:annotations animated:YES];        //  根据显示所有标注的区域的地图比例尺等级-1  延迟1s执行        FALog(@&MAPZOOMLEVEL : %f&,_mapView.zoomLevel);        int64_t delayInSeconds = 1.0;        dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);        dispatch_after(popTime, dispatch_get_main_queue(), ^(void){            FALog(@&MAPZOOMLEVEL : %f&,_mapView.zoomLevel);            float count = _mapView.zoomL            _mapView.zoomLevel = count - 1.0;        });其它的方法不变,大头针的回调不用管,跟一个大头针设置一样的。坐标系的转换用了第三方“CLLocation+YCLocation”
关注本帖(如果有新回复会站内信通知您)
4*5+2 正确***:22
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版

参考资料

 

随机推荐