//
// BMKMapView.h
// MapPlatform
//
// Created by BaiduMapAPI on 13-3-25.
// Copyright (c) 2013年 baidu. All rights reserved.
//
/*
* BMKMapView.h
* BMapKit
*
* Copyright 2011 Baidu Inc. All rights reserved.
*
*/
#import "BMKTypes.h"
#import "BMKGeometry.h"
#import "BMKAnnotation.h"
#import "BMKAnnotationView.h"
#import "BMKOverlayView.h"
#import "BMKUserLocation.h"
#import "UIKit/UIKit.h"
#import "BMKMapStatus.h"
#import "BMKLocationViewDisplayParam.h"
@protocol BMKMapViewDelegate;
///点击地图标注返回数据结构
@interface BMKMapPoi : NSObject
///点标注的名称
@property (nonatomic,retain) NSString* text;
///点标注的经纬度坐标
@property (nonatomic,assign) CLLocationCoordinate2D pt;
@end
typedef enum {
BMKUserTrackingModeNone = 0, /// 普通定位模式
BMKUserTrackingModeFollow, /// 定位跟随模式
BMKUserTrackingModeFollowWithHeading, /// 定位罗盘模式
} BMKUserTrackingMode;
///地图View类,使用此View可以显示地图窗口,并且对地图进行相关的操作
@interface BMKMapView : UIView
/// 地图View的Delegate,此处记得不用的时候需要置nil,否则影响内存的释放
@property (nonatomic, retain) id<BMKMapViewDelegate> delegate;
/// 当前地图类型,可设定为标准地图、实时路况、卫星地图、同时打开实时路况和卫星地图模式
@property (nonatomic) BMKMapType mapType;
/// 当前地图的经纬度范围,设定的该范围可能会被调整为适合地图窗口显示的范围
@property (nonatomic) BMKCoordinateRegion region;
/// 指南针的位置,设定坐标以BMKMapView左上角为原点,向右向下增长
@property (nonatomic) CGPoint compassPosition;
/**
*设定当前地图的显示范围
*@param region 要设定的地图范围,用经纬度的方式表示
*@param animated 是否采用动画效果
*/
- (void)setRegion:(BMKCoordinateRegion)region animated:(BOOL)animated;
/// 当前地图的中心点,改变该值时,地图的比例尺级别不会发生变化
@property (nonatomic) CLLocationCoordinate2D centerCoordinate;
/**
*设定地图中心点坐标
*@param coordinate 要设定的地图中心点坐标,用经纬度表示
*@param animated 是否采用动画效果
*/
- (void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated;
/// 地图比例尺级别,在手机上当前可使用的级别为3-19级
@property (nonatomic) float zoomLevel;
/// 地图的自定义最小比例尺级别
@property (nonatomic) float minZoomLevel;
/// 地图的自定义最大比例尺级别
@property (nonatomic) float maxZoomLevel;
/// 地图旋转角度,在手机上当前可使用的范围为-180~180度
@property (nonatomic) int rotation;
/// 地图俯视角度,在手机上当前可使用的范围为-45~0度
@property (nonatomic) int overlooking;
/// 设定是否显示定位图层
@property (nonatomic) BOOL showsUserLocation;
/// 设定定位模式,取值为:BMKUserTrackingMode
@property (nonatomic) BMKUserTrackingMode userTrackingMode;
/// 设定是否显式比例尺
@property (nonatomic) BOOL showMapScaleBar;
/// 比例尺的位置,设定坐标以BMKMapView左上角为原点,向右向下增长
@property (nonatomic) CGPoint mapScaleBarPosition;
/// 当前用户位置,返回坐标为百度坐标
@property (nonatomic, readonly) BMKUserLocation *userLocation;
/// 返回定位坐标点是否在当前地图可视区域内
@property (nonatomic, readonly, getter=isUserLocationVisible) BOOL userLocationVisible;
/**
*当mapview即将被显式的时候调用,恢复之前存储的mapview状态。
*/
-(void)viewWillAppear;
/**
*当mapview即将被隐藏的时候调用,存储当前mapview的状态。
*/
-(void)viewWillDisappear;
/**
*放大一级比例尺
*@return 是否成功
*/
- (BOOL)zoomIn;
/**
*缩小一级比例尺
*@return 是否成功
*/
- (BOOL)zoomOut;
/**
*根据当前地图View的窗口大小调整传入的region,返回适合当前地图窗口显示的region,调整过程会保证中心点不改变
*@param region 待调整的经纬度范围
*@return 调整后适合当前地图窗口显示的经纬度范围
*/
- (BMKCoordinateRegion)regionThatFits:(BMKCoordinateRegion)region;
///当前地图范围,采用直角坐标系表示,向右向下增长
@property (nonatomic) BMKMapRect visibleMapRect;
/**
*获得地图当前可视区域截图
*@return 返回view范围内的截取的UIImage
*/
-(UIImage*) takeSnapshot;
/**
*设定当前地图的显示范围,采用直角坐标系表示
*@param mapRect 要设定的地图范围,用直角坐标系表示
*@param animate 是否采用动画效果
*/
- (void)setVisibleMapRect:(BMKMapRect)mapRect animated:(BOOL)animate;
/**
*根据当前地图View的窗口大小调整传入的mapRect,返回适合当前地图窗口显示的mapRect,调整过程会保证中心点不改变
*@param mapRect 待调整的地理范围,采用直角坐标系表示
*@return 调整后适合当前地图窗口显示的地理范围,采用直角坐标系
*/
- (BMKMapRect)mapRectThatFits:(BMKMapRect)mapRect;
/**
*设定地图的显示范围,并使mapRect四周保留insets指定的边界区域
*@param mapRect 要设定的地图范围,用直角坐标系表示
*@param insets 指定的四周边界大小
*@param animate 是否采用动画效果
*/
- (void)setVisibleMapRect:(BMKMapRect)mapRect edgePadding:(UIEdgeInsets)insets animated:(BOOL)animate;
/**
*根据当前地图View的窗口大小调整传入的mapRect,返回适合当前地图窗口显示的mapRect,并且在该mapRect四周保留insets指定的边界区域
*@param mapRect 待调整的地理范围,采用直角坐标系表示
×@param insets mapRect四周要预留的边界大小
*@return 调整后适合当前地图窗口显示的地理范围,采用直角坐标系
*/
- (BMKMapRect)mapRectThatFits:(BMKMapRect)mapRect edgePadding:(UIEdgeInsets)insets;
/**
*将经纬度坐标转换为View坐标
*@param coordinate 待转换的经纬度坐标
*@param view 指定相对的View
*@return 转换后的View坐标
*/
- (CGPoint)convertCoordinate:(CLLocationCoordinate2D)coordinate toPointToView:(UIView *)view;
/**
*将View坐标转换成经纬度坐标
*@param point 待转换的View坐标
*@param view point坐标所在的view
*@return 转换后的经纬度坐标
*/
- (CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView:(UIView *)view;
/**
*将经纬度矩形区域转换为View矩形区域
*@param region 待转换的经纬度矩形
*@param view 指定相对的View
*@return 转换后的View矩形区域
*/
- (CGRect)convertRegion:(BMKCoordinateRegion)region toRectToView:(UIView *)view;
/**
*将View矩形区域转换成经纬度矩形区域
*@param rect 待转换的View矩形区域
*@param view rect坐标所在的view
*@return 转换后的经纬度矩形区域
*/
- (BMKCoordinateRegion)convertRect:(CGRect)rect toRegionFromView:(UIView *)view;
/**
*将直角地理坐标矩形区域转换为View矩形区域
*@param mapRect 待转换的直角地理坐标矩形
*@param view 指定相对的View
*@return 转换后的View矩形区域
*/
- (CGRect)convertMapRect:(BMKMapRect)mapRect toRectToView:(UIView *)view;
/**
*将View矩形区域转换成直角地理坐标矩形区域
*@param rect 待转换的View矩形区域
*@param view rect坐标所在的view
*@return 转换后的直角地理坐标矩形区域
*/
- (BMKMapRect)convertRect:(CGRect)rect toMapRectFromView:(UIView *)view;
///设定地图View能否支持用户多点缩放(双指)
@property(nonatomic, getter=isZoomEnabled) BOOL zoomEnabled;
///设定地图View能否支持用户缩放(双击或双指单击)
@property(nonatomic, getter=isZoomEnabledWithTap) BOOL zoomEnabledWithTap;
///设定地图View能否支持用户移动地图
@property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled;
///设定地图View能否支持俯仰角
@prope
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论







收起资源包目录





































































































共 280 条
- 1
- 2
- 3

_____陌然
- 粉丝: 9
- 资源: 13
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

- 1
- 2
- 3
- 4
- 5
前往页