iOS成长之路 百度地图覆盖物

导入百度地图

初始化百度地图

mapView  = [[BMKMapView alloc]initWithFrame:(CGRect){0,0,ViewWith,ViewHight}];

[self.view addSubview:mapView];

mapView.delegate = self;

添加线和坐标物

allarray  里面是 经纬度

if (allarray.count > 2) {

CLLocationCoordinate2D coords[2];

for (NSInteger i = 0; i < (allarray.count - 1); i++) {

NSString *str = allarray[i];

NSArray *temp = [str componentsSeparatedByString:@","];

NSString *lon = temp[0];

NSString *lat = temp[1];

BMKPointAnnotation* annotation1 = [[BMKPointAnnotation alloc]init];

CLLocationCoordinate2D coor1;

coor1.latitude = [lat doubleValue];

coor1.longitude = [lon doubleValue];

annotation1.coordinate = coor1;

annotation1.title =[NSString stringWithFormat:@"%@",placename[i]];

[mapView addAnnotation:annotation1];

NSLog(@"%@--%@",lon,lat);

//            CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake([lon doubleValue], [lat doubleValue]);

coords[0].latitude = [lat doubleValue];

coords[0].longitude = [lon doubleValue];

_number = i;

NSString *str2 = allarray[i + 1];

NSArray *temp2 = [str2 componentsSeparatedByString:@","];

NSString *lon2 = temp2[0];

NSString *lat2 = temp2[1];

NSLog(@"%@--%@",lon2,lat2);

//            CLLocationCoordinate2D coordinate2 = CLLocationCoordinate2DMake([lat2 doubleValue], [lon2 doubleValue]);

coords[1].latitude = [lat2 doubleValue];

coords[1].longitude = [lon2 doubleValue];

BMKPolyline *myPolyline = [BMKPolyline polylineWithCoordinates:coords count:2];

[mapView addOverlay:myPolyline];

}

}

自定义坐标物

这个代理是线的

- (BMKOverlayView *)mapView:(BMKMapView *)mapView viewForOverlay:(id <BMKOverlay>)overlay{

if ([overlay isKindOfClass:[BMKPolyline class]]){

BMKPolylineView* polylineView = [[BMKPolylineView alloc] initWithOverlay:overlay] ;

polylineView.strokeColor = [[UIColor purpleColor] colorWithAlphaComponent:1];

polylineView.lineWidth = 5.0;

return polylineView;

}

return nil;

}

这个代理是坐标物的

- (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id <BMKAnnotation>)annotation

{

if ([annotation isKindOfClass:[BMKPointAnnotation class]]) {

//         UIView *viewForImage=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 132, 64)];

BMKPinAnnotationView *newAnnotationView = [[BMKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"myAnnotation"];

newAnnotationView.pinColor = BMKPinAnnotationColorPurple;

//        newAnnotationView.animatesDrop = YES;// 设置该标注点动画显示

//

UIView *viewForImage=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 45, 45)];

UIImageView *imageview=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 45, 45)];

[imageview setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d",_number-1]]];

[viewForImage addSubview:imageview];

UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(32, 0, 100, 64)];

[email protected]"陈双超";

label.backgroundColor=[UIColor clearColor];

[viewForImage addSubview:label];

newAnnotationView.image=[self getImageFromView:viewForImage];

return newAnnotationView;

}

return nil;

}

这个是把你定义的view变为图片

-(UIImage *)getImageFromView:(UIView *)view{

UIGraphicsBeginImageContext(view.bounds.size);

[view.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return image;

}

时间: 2024-11-07 15:55:25

iOS成长之路 百度地图覆盖物的相关文章

iOS成长之路 百度地图

使用cocospod导入百度地图  详情见文档 使用 百度地图 需要获取密钥 2 配置 项目 info中 <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>保证网络可用 <key>LSApplicationQueriesSchemes</key> <array>

IOS开发笔记-百度地图(第三方库)

最近做了百度地图,在导入SDK后遇到了一些问题 编译错误: linker command failed with exit code 1 (use -v to see invocation) 想了很多办法,查了很多资料,最后终于解决. 可能原因: 1. 有重复的.m文件,或者未导入 解决办法:有重复的删除即可 在工作左边导航栏Target-->Build Phases-->compile Sources中,第三库库的所有.m文件都添加到里面 2.Valid Architectures 的值 在

来自我的破船大大的博客,记录他的iOS成长之路,与君同勉!

注1:这篇文章是我的iOS成长之路系列文章中的第三篇文章,第一篇文章:iOS成长之路-1-入门,第二篇文章:iOS成长之路-2-我的第一个iOS Demo. 通过两周时间来学习iOS,我慢慢的叩开了iOS开发的大门,接下来就是一个积累的过程,我主要经历了如下几个过程: 饱览群书 跟着项目一起成长 与同行交流 做一些分享 饱览群书 在初期,我认为多看书对于个人提升有很大的帮助,从某方面来说,这主要扩展了个人对iOS开发的理解广度(初期,先不要急于往最深处研究),接着把书上的讲解与动手编程结合起来,

百度地图覆盖物信息显示和隐藏

<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style type="text/css">body, html,#allmap {width: 100%;height: 100%;overflow: hidden;hidden;margin:

IOS成长之路-去掉屏幕键盘的方法

//定义两个文本框 UITextField *textName; UITextField *textSummary; //点击return 按钮 去掉 -(BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; } //点击屏幕空白处去掉键盘 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent

ios之苹果和百度地图的使用

iOS中使用较多的3款地图,google地图.百度地图.苹果自带地图(高德).其中苹果自带地图在中国使用的是高德的数据.苹果在iOS 6之后放弃了使用谷歌地图,而改用自家的地图.在国内使用的较多的就是百度.苹果自带地图(高德),以下总结下这两个. 一.苹果地图的使用 因为苹果使用的是高德的地图,加上苹果做的一些封装,使用起来也非常方便.不需要引入第三方框架,相比较之下,使用百度地图SDK会使源码与程序都 大10M多,这点很蛋疼.同时由于苹果使用的是高德,不会像谷歌地图一样在国内乌龟一样的访问速度

iOS将简单的百度地图SDK集成到项目中

最近在玩百度地图API,期间遇到很多问题,只能说明我蠢.现在一一记录下来,以后用到可以回来复习一下. 下载iOS的SDK,下载地址为:http://developer.baidu.com/map/index.php?title=iossdk/sdkiosdev-download 新建工程,获取 Bundle identifier,比如:com.winson.test.cstest  注意灰色的cstest,是要手写进去的(very important): 回到百度地图API首页,如果你还不是开发

百度地图覆盖物多边形拖动,点击,生成新的覆盖物

<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><style type="text/css">

03.(最新版)百度地图&#167;覆盖物OverlayOptions

转载请标明:http://blog.csdn.net/u012637501 目前百度地图SDK所提供的地图等级为3-19级,所包含的信息有建筑物.道路.河流.学校.公园等内容.所有叠加或覆盖到地图的内容,我们统称为地图覆盖物.如标注.矢量图形元素(包括:折线.多边形和圆等).定位图标等.覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动.我们可根据自己实际的业务需求,利用标注覆盖物,在地图指定的位置上添加标注信息. 一.APIs 1.LatLng类 (1)作用:地理坐标基本数据结构