- 浏览: 268832 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
jimode2013:
thanks
UIPanGestureRecognizer学习笔记 -
白色蜻蜓:
- (void) loadView { //opaquevie ...
UIWebView中使用UIActivityIndicatorView
问题
2012-10-26 11:37:05.519 yuanshi[1307:c07] -[UIDevice uniqueGlobalDeviceIdentifier]: unrecognized selector sent to instance 0xaa6cdb0
2012-10-26 11:49:53.867 yuanshi[1307:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIDevice uniqueGlobalDeviceIdentifier]: unrecognized selector sent to instance 0xaa6cdb0'
目前我们在做IOS开发中绝大多数用的是GoogleMap地图,IOS本身自带的也是googleMap,但是如果我们希望在地图上实时显示路况信息等部分功能,googlemap则没有,所以有时候我们可以应用百度地图做应用程序。下面我简单介绍一下BMapKit的应用:
一:首先我们有一点与用googlemap开发的不同,需要创建BMKMapManager管理应用程序的map,如果没有这个类,地图则不能够显示。
下面红色的字体是自己在百度官方申请的地图api——key;
BMKMapManager *_mapManager = [[BMKMapManager alloc] init];
BOOL ret = [_mapManager start:@"C3252C69EDB6D21A10B3FC9657FD1DDC7E0000**"generalDelegate:self];
if (!ret) {
NSLog(@"manager start failed!");
}
二:在view中添加BMKMapView,同时设置BMKMapViewDelegate,添加annotation(记录兴趣点,BMKAnnotation),同时每个兴趣点可以设置其title(设置annotation的标题),以及subtitle(子标题)。
@interface MapBaiDu : UIViewController <BMKMapViewDelegate> { }
@property (nonatomic, strong) BMKMapView *_mapView;
@end- (void)viewDidLoad {
_mapView = [[BMKMapView alloc] initWithFrame:CGRectMake(0, 39, 320, 377)]; //创建MKMapView
[self.view addSubview:_mapView];
[_mapView release];
_mapView.delegate = self; //设置代理
_mapView.showsUserLocation = YES; //设置为可以显示用户位置
CLLocationCoordinate2D coordinate; //设定经纬度
coordinate.latitude = 40.027283; //纬度
coordinate.longitude = 116.313217; //经度
BMKCoordinateRegion viewRegion = BMKCoordinateRegionMake(coordinate,BMKCoordinateSpanMake(1.0, 1.0));
BMKCoordinateRegion adjustedRegion = [_mapView regionThatFits:viewRegion];
[_mapView setRegion:adjustedRegion animated:YES];
}上面最后一行 :设置当前地图的经纬度范围,设定的该范围可能会被调整为适合地图窗口显示的范围。region是BMKMapView的一个属性,类型BMKCoordinateRegion ,这行的意思是创建一个以coordinate为中心,上下左右个0.5个经(纬)度。但是这时我们需要注意一个问题就是,创建的区域是一个正方形,并不符合我们所需要的BMKMapView比例;之后用方法regionThatFits调整显示范围。
///表示一个经纬度区域
typedef struct {
CLLocationCoordinate2D center; ///< 中心点经纬度坐标
BMKCoordinateSpan span; ///< 经纬度范围
} BMKCoordinateRegion;
///表示一个经纬度范围
typedef struct {
CLLocationDegrees latitudeDelta; ///< 纬度范围
CLLocationDegrees longitudeDelta; ///< 经度范围
} BMKCoordinateSpan;
三:下面我们简单说一下delegate
1:地图区域改变时候调用函数:
- (void)mapView:(BMKMapView *)mapView regionWillChangeAnimated:(BOOL)animated;
- (void)mapView:(BMKMapView *)mapView regionDidChangeAnimated:(BOOL)animated;
2:annotation
*根据anntation生成对应的View
- (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id<BMKAnnotation>)annotation;
*当mapView新添加annotation views时,调用此接口
- (void)mapView:(BMKMapView *)mapView didAddAnnotationViews:(NSArray *)views;
*当选中一个annotation views时,调用此接口
- (void)mapView:(BMKMapView *)mapView didSelectAnnotationView:(BMKAnnotationView *)view;
*当取消选中一个annotation views时,调用此接口
- (void)mapView:(BMKMapView *)mapView didDeselectAnnotationView:(BMKAnnotationView *)view;
而annotation分为两部分:BMKAnotation该类为标注点的protocol,提供了标注类的基本信息函数,title和subtitle分别是标题和子标题;同时可以设置标注的左边,在拖曳时候会被调用setCoordinate;BMKAnnotationView为标注点显示视图类,该类继承UIView,可以设置此view显示的图像,可以设置centerOffset(中心的位置,正的偏移使view超右下方移动,负的朝右上方移动,单位为像素),还可以设置calloutOffset改变淡出的气泡位置(正的偏移使view超右下方移动,负的朝左上方移动,单位是像素)。还可以设置其触摸事件,默认情况下为YES,可以选中,也可以是enabled = NO。其他的属性还有:selected,canShowCallout,leftCalloutAccessoryView,rightCalloutAccessoryView。等等
四:当地图view定位时调用函数:
*当取消选中一个annotation views时,调用此接口
- (void)mapView:(BMKMapView *)mapView didDeselectAnnotationView:(BMKAnnotationView *)view;
*在地图View将要启动定位时,会调用此函数
- (void)mapViewWillStartLocatingUser:(BMKMapView *)mapView;
*在地图View停止定位后,会调用此函数
- (void)mapViewDidStopLocatingUser:(BMKMapView *)mapView;
*定位失败后,会调用此函数
- (void)mapView:(BMKMapView *)mapView didFailToLocateUserWithError:(NSError *)error;
*用户位置更新后,会调用此函数
- (void)mapView:(BMKMapView *)mapView didUpdateUserLocation:(BMKUserLocation *)userLocation;
五:当有overlay(阴影标示某一个区域)生成或者新添加的时候调用此接口
*根据overlay生成对应的View
- (BMKOverlayView *)mapView:(BMKMapView *)mapView viewForOverlay:(id <BMKOverlay>)overlay;
*当mapView新添加overlay views时,调用此接口
- (void)mapView:(BMKMapView *)mapView didAddOverlayViews:(NSArray *)overlayViews;
六:当点击annotation view弹出的泡泡时,调用此接口
*当点击annotation view弹出的泡泡时,调用此接口
- (void)mapView:(BMKMapView *)mapView annotationViewForBubble:(BMKAnnotationView *)view;
九:annotation view有许多不同的状态,在不同状态的时候我们都可以设置不同的操作,拖动annotation view时view的状态变化
- (void)mapView:(BMKMapView *)mapView annotationView:(BMKAnnotationView *)view didChangeDragState:(BMKAnnotationViewDragState)newState
fromOldState:(BMKAnnotationViewDragState)oldState;
enum {
BMKAnnotationViewDragStateNone = 0, ///< 静止状态.
BMKAnnotationViewDragStateStarting, ///< 开始拖动
BMKAnnotationViewDragStateDragging, ///< 拖动中
BMKAnnotationViewDragStateCanceling, ///< 取消拖动
BMKAnnotationViewDragStateEnding ///< 拖动结束
};
typedef NSUInteger BMKAnnotationViewDragState;
原文出处:http://duohuoteng.iteye.com/blog/1725320
发表评论
-
EXC_BAD_ACCESS
2013-06-21 17:59 962EXC_BAD_ACCESS 这个错误,可以这么说,90%的 ... -
NSAssert
2013-06-08 09:55 990You can use NSAssert() to deb ... -
UIWebView中的图片用本地document目录中的
2013-04-28 14:34 0-(void)webViewDidStartLoad:(UI ... -
如何点击链接直接跳转到app store指定应用下载页面
2013-03-21 14:42 2807跳转到应用下载页面: NSString *str = [ ... -
ios面试题收集一(附基本答案)
2013-03-20 11:40 1477此份面试题包含40个题目,是现在网上能搜索到的一个比较热的一 ... -
IOS5.1.1完美越狱XCODE测试出现10004003的问题
2013-03-15 11:23 1140我的APP已经上线了,但是公司有几个越狱后IOS5.1.1 ... -
MKLocalSearch用法
2013-03-08 15:21 6823原文出处:http://phpadvocate.com/bl ... -
NSString-NSDate类型转换和CustomBar的总结
2012-12-21 09:53 1344如何将一个字符串@"2012-12-21" ... -
ios判断本地文件是否存在
2012-12-17 17:36 1182NSString *path = [[NSBundle ... -
UIWebView响应单机事件
2012-12-14 11:40 1156在UIViewController中,加入协议UIGes ... -
APP适配iphone5 and ihpone4
2012-12-09 13:22 2028首先加入Default-568@2x.png得开机图片 CG ... -
iOS常用控件尺寸大集合
2012-11-28 16:36 1828元素控件 尺寸(pts) Window(含状态栏) 320 x ... -
UIPanGestureRecognizer学习笔记
2012-11-27 14:59 17632好久没来写笔记了,原因很简单,最近一直坐java网站,没顾上学 ... -
发送邮件---iphone开发
2012-09-27 14:00 13821、导入MessageUI.framework包 2、引入头 ... -
nsarray倒序排序
2012-09-24 16:28 2344NSSortDescriptor *descripto ... -
UITextField限制输入类型
2012-09-05 17:37 7324限制只能输入特定的字 ... -
怎么把椭圆的UISearchBar改成圆角矩形?
2012-08-29 13:03 4635for (UIView *subview in sel ... -
uitableview出现重叠的处理办法
2012-08-24 10:45 749for (UIView *subview in ... -
XIB那点问题
2012-08-09 10:49 9801、运行错误: this class is not key ... -
下拉加载(刷新)下一页效果
2012-07-19 09:26 34101、导入EGO框架,即附件中的EGO.ZIP中的两个类文件,以 ...
相关推荐
百度地图api使用方法1链接:http://blog.csdn.net/sf2gis2/article/details/47811815使用方法2链接(详情):
百度地图API是开发者用来集成百度地图服务的一个强大工具,它允许程序员在自己的应用程序、网站或系统中嵌入地图功能,实现各种定制化的地理信息处理。通过使用百度地图API,开发者可以轻松地实现地图展示、定位、...
在本教程中,我们将深入探讨如何使用Python编程语言结合百度地图API来实现热力地图的绘制。热力地图是一种有效的数据可视化工具,它通过颜色的深浅来展示特定区域的密度或活动强度,通常用于展示人口分布、交通流量...
百度地图API是开发人员构建地图相关应用的强大工具,它允许开发者通过集成不同的版本接口,实现丰富的功能,如基本地图展示、定位、搜索、导航等。在本压缩包中,包含的“BaiduMapsApiDemo”可能是一个示例项目,...
1. **地图初始化**:在HTML页面中引入百度地图API的JavaScript库,然后通过JavaScript代码创建地图实例,设置地图中心点坐标、缩放级别等参数。 2. **坐标数据获取**:运动轨迹是由一系列坐标点组成的,这些点可以...
本压缩包"**C#百度地图API.rar**"提供了一套关于C#与百度地图API结合使用的参考资料,对于那些需要在自己的应用中集成地图功能的开发者来说非常有价值。下面将详细解释其中涉及的关键知识点: 1. **C#编程语言**: ...
1. **初始化地图**:首先,我们需要在HTML中创建一个div元素作为地图容器,并通过JavaScript调用百度地图API的BMap对象,设置地图的中心点、缩放级别以及地图类型。 2. **添加标记(Markers)**:如果需要在地图上...
将百度地图嵌入c# cs窗体中,cs...查了很多资料,参考网上众多朋友的代码及百度地图API demo,这个例子中的js代码不用key,方便很多,使用的是v1.4版,少了很多限制,使用.net4.5开发的,可以将c#代码转为低版本也行的。
将百度地图嵌入c# cs窗体中,... 查了很多资料,参考网上众多朋友的代码及百度地图API demo,这个例子中的js代码不用key,方便很多,使用的是v1.4版,少了很多限制,使用.net4.5开发的,可以将c#代码转为低版本也行的。
1. POI检索:百度地图API提供了POI搜索服务,可以根据关键词、区域等条件进行周边兴趣点的搜索。搜索结果包括名称、地址、经纬度等信息。 2. 搜索类型:可以进行分类搜索,如餐饮、酒店、公园等,也可以进行综合...
1. **kaiduhe.html** 和 **sample.html**:这两个文件是示例网页,展示了如何使用百度地图API 2.0进行地图展示、标注、事件监听等基本操作,可作为开发参考。 2. **GoogleToBaidu.jar**:这是一个用于将Google地图...
百度地图API是为开发者免费提供的一套基于百度地图服务的应用接口,包括JavaScript API、Web服务API、Android SDK、iOS SDK、定位SDK、车联网API、LBS云等多种开发工具与服务,提供基本地图展现、搜索、定位、逆/...
在本文中,我们将深入探讨如何使用百度地图API在JavaScript环境下记录轨迹和计算里程。百度地图API是一个强大的工具,它提供了丰富的地图服务,包括定位、地图展示、路线规划、地理编码等,非常适合开发者进行Web...
而调用百度地图API,可以让我们的应用与百度地图服务进行交互,实现如定位、地图显示、路线规划等功能。本篇文章将深入探讨如何在MFC项目中集成并使用百度地图API。 首先,了解百度地图API的基本概念是至关重要的。...
本文将深入探讨如何使用百度地图API创建地图应用,包括其基本概念、功能以及在实际项目中的应用。百度地图API是百度提供的一套强大的Web服务接口,它允许开发者在其网站或应用中嵌入地图功能,实现各种地图相关的...
1. **集成百度地图API**: 百度地图API提供了JavaScript和Web服务两种接口。在C#环境中,我们通常选择使用Web服务接口,因为它允许我们在服务器端处理地图数据,然后在客户端展示。你需要先注册一个百度地图API密钥...
1. **初始化地图**:使用百度地图API创建地图实例,设置地图中心点、缩放级别和地图类型。 2. **监听地图点击事件**:注册地图的click事件,当用户点击地图时获取点击位置的经纬度坐标。 3. **存储坐标点**:在...
1. **百度地图API**:百度地图API是百度公司提供的一套Web服务接口,允许开发者在其网站或应用中嵌入地图功能,包括地图显示、定位、路径规划等。通过JavaScript API,开发者可以轻松地与百度地图进行交互,创建丰富...
1,基础API:apiv1.3.min.js ,有注释可参考; 2,基础CSS: bmap.css ; 3,依赖文件:map,oppc,tile,control,marker; 4,瓦片图:maptile; 5,例子:demo.html;用火狐和chrome可直接打开,在IE下还有些问题。 多多...
本文将详细探讨“百度地图API地址批量转换坐标”的概念、功能以及如何利用它进行坐标转换,同时也涉及到与之相关的Excel上传和地图撒点功能。 首先,让我们了解什么是百度地图API。百度地图API是百度提供的一套接口...