Initial commit
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,36 @@
|
||||
//
|
||||
// BMKFavPoiInfo.h
|
||||
// UtilsComponent
|
||||
//
|
||||
// Created by wzy on 15/4/8.
|
||||
// Copyright (c) 2015年 baidu. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef UtilsComponent_BMKFavPoiInfo_h
|
||||
#define UtilsComponent_BMKFavPoiInfo_h
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
///收藏点信息类
|
||||
@interface BMKFavPoiInfo : NSObject
|
||||
|
||||
///数据ID,自动生成
|
||||
@property (nonatomic, strong) NSString* favId;
|
||||
///poi名称(添加或更新时,必须有)
|
||||
@property (nonatomic, strong) NSString* poiName;
|
||||
///poi点Uid
|
||||
@property (nonatomic, strong) NSString* poiUid;
|
||||
///poi坐标(添加或更新时,必须有)
|
||||
@property (nonatomic, assign) CLLocationCoordinate2D pt;
|
||||
///poi地址
|
||||
@property (nonatomic, strong) NSString* address;
|
||||
///城市名称
|
||||
@property (nonatomic, strong) NSString* cityName;
|
||||
///添加或最后修改时间戳
|
||||
@property (nonatomic, assign) NSUInteger timeStamp;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,60 @@
|
||||
//
|
||||
// BMKFavPoiManager.h
|
||||
// UtilsComponent
|
||||
//
|
||||
// Created by wzy on 15/4/9.
|
||||
// Copyright (c) 2015年 baidu. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef UtilsComponent_BMKFavPoiManager_h
|
||||
#define UtilsComponent_BMKFavPoiManager_h
|
||||
|
||||
#import "BMKFavPoiInfo.h"
|
||||
|
||||
///收藏点管理类
|
||||
@interface BMKFavPoiManager : NSObject
|
||||
|
||||
/**
|
||||
* 添加一个poi点
|
||||
* @param favPoiInfo 点信息,in/out,输出包含favId和添加时间
|
||||
* @return -2:收藏夹已满,-1:名称为空,0:添加失败,1:添加成功
|
||||
*/
|
||||
- (NSInteger)addFavPoi:(BMKFavPoiInfo*) favPoiInfo;
|
||||
|
||||
/**
|
||||
* 获取一个收藏点信息
|
||||
* @param favId 添加时返回的favId,也可通过getAllFavPois获取的信息中BMKFavPoiInfo的属性favId
|
||||
* @return 收藏点信息,没有返回nil
|
||||
*/
|
||||
- (BMKFavPoiInfo*)getFavPoi:(NSString*) favId;
|
||||
|
||||
/**
|
||||
* 获取所有收藏点信息
|
||||
* @return 点信息数组
|
||||
*/
|
||||
- (NSArray*)getAllFavPois;
|
||||
|
||||
/**
|
||||
* 更新一个收藏点
|
||||
* @param favId 添加时返回的favId,也可通过getAllFavPois获取的信息中BMKFavPoiInfo的属性favId
|
||||
* @param favPoiInfo 点信息,in/out,输出包含修改时间
|
||||
* @return 成功返回YES,失败返回NO
|
||||
*/
|
||||
- (BOOL)updateFavPoi:(NSString*) favId favPoiInfo:(BMKFavPoiInfo*) favPoiInfo;
|
||||
|
||||
/**
|
||||
* 删除一个收藏点
|
||||
* @param favId 添加时返回的favId,也可通过getAllFavPois获取的信息中BMKFavPoiInfo的属性favId
|
||||
* @return 成功返回YES,失败返回NO
|
||||
*/
|
||||
- (BOOL)deleteFavPoi:(NSString*) favId;
|
||||
|
||||
/**
|
||||
* 清空所有收藏点
|
||||
* @return 成功返回YES,失败返回NO
|
||||
*/
|
||||
- (BOOL)clearAllFavPois;
|
||||
|
||||
@end
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,420 @@
|
||||
/* BMKGeometry.h
|
||||
* BMapKit
|
||||
*
|
||||
* Copyright 2011 Baidu Inc. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#import <BaiduMapAPI_Base/BMKTypes.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
|
||||
/**
|
||||
*构造BMKCoordinateSpan对象
|
||||
*@param latitudeDelta 纬度方向的变化量
|
||||
*@param longitudeDelta 经度方向的变化量
|
||||
*@return 根据指定参数生成的BMKCoordinateSpan对象
|
||||
*/
|
||||
UIKIT_STATIC_INLINE BMKCoordinateSpan BMKCoordinateSpanMake(CLLocationDegrees latitudeDelta, CLLocationDegrees longitudeDelta)
|
||||
{
|
||||
BMKCoordinateSpan span;
|
||||
span.latitudeDelta = latitudeDelta;
|
||||
span.longitudeDelta = longitudeDelta;
|
||||
return span;
|
||||
}
|
||||
|
||||
/**
|
||||
*构造BMKCoordinateRegion对象
|
||||
*@param centerCoordinate 中心点经纬度坐标
|
||||
*@param span 经纬度的范围
|
||||
*@return 根据指定参数生成的BMKCoordinateRegion对象
|
||||
*/
|
||||
UIKIT_STATIC_INLINE BMKCoordinateRegion BMKCoordinateRegionMake(CLLocationCoordinate2D centerCoordinate, BMKCoordinateSpan span)
|
||||
{
|
||||
BMKCoordinateRegion region;
|
||||
region.center = centerCoordinate;
|
||||
region.span = span;
|
||||
return region;
|
||||
}
|
||||
|
||||
/**
|
||||
*根据中心点和距离生成BMKCoordinateRegion
|
||||
*@param centerCoordinate 中心点坐标
|
||||
*@param latitudinalMeters 纬度方向的距离范围,单位:米
|
||||
*@param longitudinalMeters 经度方向的距离范围,单位:米
|
||||
*@return 根据中心点和距离生成BMKCoordinateRegion
|
||||
*/
|
||||
UIKIT_EXTERN BMKCoordinateRegion BMKCoordinateRegionMakeWithDistance(CLLocationCoordinate2D centerCoordinate, CLLocationDistance latitudinalMeters, CLLocationDistance longitudinalMeters);
|
||||
|
||||
/**
|
||||
*将经纬度坐标转换为投影后的直角地理坐标
|
||||
*@param coordinate 待转换的经纬度坐标
|
||||
*@return 转换后的直角地理坐标
|
||||
*/
|
||||
UIKIT_EXTERN BMKMapPoint BMKMapPointForCoordinate(CLLocationCoordinate2D coordinate);
|
||||
|
||||
/**
|
||||
*将投影后的直角地理坐标转换为经纬度坐标
|
||||
*@param mapPoint 投影后的直角地理坐标
|
||||
*@return 转换后的经纬度坐标
|
||||
*/
|
||||
UIKIT_EXTERN CLLocationCoordinate2D BMKCoordinateForMapPoint(BMKMapPoint mapPoint);
|
||||
|
||||
/**
|
||||
*计算在指定纬度下一个BMKMapPoint单位对应的米数
|
||||
*@param latitude 指定的纬度
|
||||
*@return 在指定纬度下一个BMKMapPoint单位对应的米数
|
||||
*/
|
||||
UIKIT_EXTERN CLLocationDistance BMKMetersPerMapPointAtLatitude(CLLocationDegrees latitude);
|
||||
|
||||
/**
|
||||
*计算在指定纬度下一米对应的MKMapPoint的单位数
|
||||
*@param latitude 指定的纬度
|
||||
*@return 在指定纬度下一米对应的MKMapPoint的单位数
|
||||
*/
|
||||
UIKIT_EXTERN double BMKMapPointsPerMeterAtLatitude(CLLocationDegrees latitude);
|
||||
|
||||
/**
|
||||
*计算指定两点之间的距离
|
||||
*@param a 第一个坐标点
|
||||
*@param b 第二个坐标点
|
||||
*@return 两点之间的距离,单位:米
|
||||
*/
|
||||
UIKIT_EXTERN CLLocationDistance BMKMetersBetweenMapPoints(BMKMapPoint a, BMKMapPoint b);
|
||||
|
||||
/**
|
||||
*构造BMKMapPoint对象
|
||||
*@param x 水平方向的坐标值
|
||||
*@param y 垂直方向的坐标值
|
||||
*@return 根据指定参数生成的BMKMapPoint对象
|
||||
*/
|
||||
UIKIT_STATIC_INLINE BMKMapPoint BMKMapPointMake(double x, double y) {
|
||||
return (BMKMapPoint){x, y};
|
||||
}
|
||||
|
||||
/**
|
||||
*构造BMKMapSize对象
|
||||
*@param width 宽度
|
||||
*@param height 高度
|
||||
*@return 根据指定参数生成的BMKMapSize对象
|
||||
*/
|
||||
UIKIT_STATIC_INLINE BMKMapSize BMKMapSizeMake(double width, double height) {
|
||||
return (BMKMapSize){width, height};
|
||||
}
|
||||
|
||||
/**
|
||||
*构造BMKMapRect对象
|
||||
*@param x 矩形左上顶点的x坐标值
|
||||
*@param y 矩形左上顶点的y坐标值
|
||||
*@param width 矩形宽度
|
||||
*@param height 矩形高度
|
||||
*@return 根据指定参数生成的BMKMapRect对象
|
||||
*/
|
||||
UIKIT_STATIC_INLINE BMKMapRect BMKMapRectMake(double x, double y, double width, double height) {
|
||||
return (BMKMapRect){ BMKMapPointMake(x, y), BMKMapSizeMake(width, height)};
|
||||
}
|
||||
|
||||
/**
|
||||
*获取指定矩形的x轴坐标最小值
|
||||
*@param rect 指定的矩形
|
||||
*@return x轴坐标最小值
|
||||
*/
|
||||
UIKIT_STATIC_INLINE double BMKMapRectGetMinX(BMKMapRect rect) {
|
||||
return rect.origin.x;
|
||||
}
|
||||
|
||||
/**
|
||||
*获取指定矩形的y轴坐标最小值
|
||||
*@param rect 指定的矩形
|
||||
*@return y轴坐标最小值
|
||||
*/
|
||||
UIKIT_STATIC_INLINE double BMKMapRectGetMinY(BMKMapRect rect) {
|
||||
return rect.origin.y;
|
||||
}
|
||||
|
||||
/**
|
||||
*获取指定矩形在x轴中点的坐标值
|
||||
*@param rect 指定的矩形
|
||||
*@return x轴中点的坐标值
|
||||
*/
|
||||
UIKIT_STATIC_INLINE double BMKMapRectGetMidX(BMKMapRect rect) {
|
||||
return rect.origin.x + rect.size.width / 2.0;
|
||||
}
|
||||
|
||||
/**
|
||||
*获取指定矩形在y轴中点的坐标值
|
||||
*@param rect 指定的矩形
|
||||
*@return y轴中点的坐标值
|
||||
*/
|
||||
UIKIT_STATIC_INLINE double BMKMapRectGetMidY(BMKMapRect rect) {
|
||||
return rect.origin.y + rect.size.height / 2.0;
|
||||
}
|
||||
|
||||
/**
|
||||
*获取指定矩形的x轴坐标最大值
|
||||
*@param rect 指定的矩形
|
||||
*@return x轴坐标最大值
|
||||
*/
|
||||
UIKIT_STATIC_INLINE double BMKMapRectGetMaxX(BMKMapRect rect) {
|
||||
return rect.origin.x + rect.size.width;
|
||||
}
|
||||
|
||||
/**
|
||||
*获取指定矩形的y轴坐标最大值
|
||||
*@param rect 指定的矩形
|
||||
*@return y轴坐标最大值
|
||||
*/
|
||||
UIKIT_STATIC_INLINE double BMKMapRectGetMaxY(BMKMapRect rect) {
|
||||
return rect.origin.y + rect.size.height;
|
||||
}
|
||||
|
||||
/**
|
||||
*获取指定矩形的宽度
|
||||
*@param rect 指定的矩形
|
||||
*@return 指定矩形的宽度
|
||||
*/
|
||||
UIKIT_STATIC_INLINE double BMKMapRectGetWidth(BMKMapRect rect) {
|
||||
return rect.size.width;
|
||||
}
|
||||
|
||||
/**
|
||||
*获取指定矩形的高度
|
||||
*@param rect 指定的矩形
|
||||
*@return 指定矩形的高度
|
||||
*/
|
||||
UIKIT_STATIC_INLINE double BMKMapRectGetHeight(BMKMapRect rect) {
|
||||
return rect.size.height;
|
||||
}
|
||||
|
||||
/**
|
||||
*判断两个点是否相等
|
||||
*@param point1 第一个点
|
||||
*@param point2 第二个点
|
||||
*@return 如果两点相等,返回YES,否则返回NO
|
||||
*/
|
||||
UIKIT_STATIC_INLINE BOOL BMKMapPointEqualToPoint(BMKMapPoint point1, BMKMapPoint point2) {
|
||||
return point1.x == point2.x && point1.y == point2.y;
|
||||
}
|
||||
|
||||
/**
|
||||
*判断两个矩形范围是否相等
|
||||
*@param size1 范围1
|
||||
*@param size2 范围2
|
||||
*@return 如果相等,返回YES,否则返回NO
|
||||
*/
|
||||
UIKIT_STATIC_INLINE BOOL BMKMapSizeEqualToSize(BMKMapSize size1, BMKMapSize size2) {
|
||||
return size1.width == size2.width && size1.height == size2.height;
|
||||
}
|
||||
|
||||
/**
|
||||
*判断两个矩形是否相等
|
||||
*@param rect1 矩形1
|
||||
*@param rect2 矩形2
|
||||
*@return 如果相等,返回YES,否则返回NO
|
||||
*/
|
||||
UIKIT_STATIC_INLINE BOOL BMKMapRectEqualToRect(BMKMapRect rect1, BMKMapRect rect2) {
|
||||
return
|
||||
BMKMapPointEqualToPoint(rect1.origin, rect2.origin) &&
|
||||
BMKMapSizeEqualToSize(rect1.size, rect2.size);
|
||||
}
|
||||
|
||||
/**
|
||||
*判断指定矩形是否为NULL
|
||||
*@param rect 指定矩形
|
||||
*@return 如果矩形为NULL,返回YES,否则返回NO
|
||||
*/
|
||||
UIKIT_STATIC_INLINE BOOL BMKMapRectIsNull(BMKMapRect rect) {
|
||||
return isinf(rect.origin.x) || isinf(rect.origin.y);
|
||||
}
|
||||
|
||||
/**
|
||||
*判断一个矩形是否为空矩形
|
||||
*@param rect 指定矩形
|
||||
*@return 如果矩形为空矩形,返回YES,否则返回NO
|
||||
*/
|
||||
UIKIT_STATIC_INLINE BOOL BMKMapRectIsEmpty(BMKMapRect rect) {
|
||||
return BMKMapRectIsNull(rect) || (rect.size.width == 0.0 && rect.size.height == 0.0);
|
||||
}
|
||||
|
||||
/**
|
||||
*将BMKMapPoint格式化为字符串
|
||||
*@param point 指定的标点
|
||||
*@return 返回转换后的字符串
|
||||
*/
|
||||
UIKIT_STATIC_INLINE NSString *BMKStringFromMapPoint(BMKMapPoint point) {
|
||||
return [NSString stringWithFormat:@"{%.1f, %.1f}", point.x, point.y];
|
||||
}
|
||||
|
||||
/**
|
||||
*将BMKMapSize格式化为字符串
|
||||
*@param size 指定的size
|
||||
*@return 返回转换后的字符串
|
||||
*/
|
||||
UIKIT_STATIC_INLINE NSString *BMKStringFromMapSize(BMKMapSize size) {
|
||||
return [NSString stringWithFormat:@"{%.1f, %.1f}", size.width, size.height];
|
||||
}
|
||||
|
||||
/**
|
||||
*将BMKMapRect格式化为字符串
|
||||
*@param rect 指定的rect
|
||||
*@return 返回转换后的字符串
|
||||
*/
|
||||
UIKIT_STATIC_INLINE NSString *BMKStringFromMapRect(BMKMapRect rect) {
|
||||
return [NSString stringWithFormat:@"{%@, %@}", BMKStringFromMapPoint(rect.origin), BMKStringFromMapSize(rect.size)];
|
||||
}
|
||||
|
||||
/**
|
||||
*计算两个矩形的并集
|
||||
*@param rect1 矩形1
|
||||
*@param rect2 矩形2
|
||||
*@return 两个矩形的并集
|
||||
*/
|
||||
UIKIT_EXTERN BMKMapRect BMKMapRectUnion(BMKMapRect rect1, BMKMapRect rect2);
|
||||
|
||||
/**
|
||||
*计算两个矩形的交集
|
||||
*@param rect1 矩形1
|
||||
*@param rect2 矩形2
|
||||
*@return 两个矩形的交集
|
||||
*/
|
||||
UIKIT_EXTERN BMKMapRect BMKMapRectIntersection(BMKMapRect rect1, BMKMapRect rect2);
|
||||
|
||||
/**
|
||||
*将矩形向内缩小dx,dy大小
|
||||
*@param rect 指定的矩形
|
||||
*@param dx x轴的变化量
|
||||
*@param dy y轴的变化量
|
||||
*@return 调整后的矩形
|
||||
*/
|
||||
UIKIT_EXTERN BMKMapRect BMKMapRectInset(BMKMapRect rect, double dx, double dy);
|
||||
|
||||
/**
|
||||
*将矩形原点偏移指定大小
|
||||
*@param rect 指定的矩形
|
||||
*@param dx x轴的偏移量
|
||||
*@param dy y轴的偏移量
|
||||
*@return 调整后的矩形
|
||||
*/
|
||||
UIKIT_EXTERN BMKMapRect BMKMapRectOffset(BMKMapRect rect, double dx, double dy);
|
||||
|
||||
/**
|
||||
*矩形分割,将一个矩形分割为两个矩形
|
||||
*@param rect 待分割的矩形
|
||||
*@param slice 指针,用来保存分割后被移除的矩形
|
||||
*@param remainder 指针,用来保存分割后剩下的矩形
|
||||
*@param amount 指定分割的大小,如果设置为负数,则将自动调整为0
|
||||
*@param edge 用来指定要从那条边开始分割
|
||||
*/
|
||||
UIKIT_EXTERN void BMKMapRectDivide(BMKMapRect rect, BMKMapRect *slice, BMKMapRect *remainder, double amount, CGRectEdge edge);
|
||||
|
||||
/**
|
||||
*判断指定点是否在某矩形内
|
||||
*@param rect 指定的矩形
|
||||
*@param point 指定的点
|
||||
*@return 如果包含,返回YES,否则,返回NO
|
||||
*/
|
||||
UIKIT_EXTERN BOOL BMKMapRectContainsPoint(BMKMapRect rect, BMKMapPoint point);
|
||||
|
||||
/**
|
||||
*判断矩形rect1是否包含矩形rect2
|
||||
*@param rect1 矩形1
|
||||
*@param rect2 矩形2
|
||||
*@return 如果包含,返回YES,否则,返回NO
|
||||
*/
|
||||
UIKIT_EXTERN BOOL BMKMapRectContainsRect(BMKMapRect rect1, BMKMapRect rect2);
|
||||
|
||||
/**
|
||||
*判断两矩形是否相交
|
||||
*@param rect1 矩形1
|
||||
*@param rect2 矩形2
|
||||
*@return 如果相交,返回YES,否则,返回NO
|
||||
*/
|
||||
UIKIT_EXTERN BOOL BMKMapRectIntersectsRect(BMKMapRect rect1, BMKMapRect rect2);
|
||||
|
||||
/**
|
||||
*将投影后的直角坐标矩形转换为泳经纬度表示的范围
|
||||
*@param rect 待转换的直角坐标矩形
|
||||
*@return 转换后的经纬度范围
|
||||
*/
|
||||
UIKIT_EXTERN BMKCoordinateRegion BMKCoordinateRegionForMapRect(BMKMapRect rect);
|
||||
|
||||
/**
|
||||
*判断指定的直角坐标矩形是否跨越了180度经线
|
||||
*@param rect 待判断的矩形
|
||||
*@return 如果跨越,返回YES,否则返回NO
|
||||
*/
|
||||
UIKIT_EXTERN BOOL BMKMapRectSpans180thMeridian(BMKMapRect rect);
|
||||
|
||||
/**
|
||||
*对于跨越了180经线的矩形,本函数将世界之外的部分进行分割,并将分割下来的矩形转换到地球对面,例如将-185度经线对应的区域转换到5度经线对应的区域,并将转换后的矩形返回
|
||||
*@param rect 待处理的矩形
|
||||
*@return 返回转换后的矩形
|
||||
*/
|
||||
UIKIT_EXTERN BMKMapRect BMKMapRectRemainder(BMKMapRect rect);
|
||||
|
||||
/**
|
||||
*判断点是否在圆内
|
||||
*@param point 待判断的平面坐标点
|
||||
*@param center 目标圆形的中心点平面坐标
|
||||
*@param radius 目标圆形的半径,单位m
|
||||
*@return 如果在内,返回YES,否则返回NO
|
||||
*/
|
||||
UIKIT_EXTERN BOOL BMKCircleContainsPoint(BMKMapPoint point, BMKMapPoint center, double radius);
|
||||
|
||||
/**
|
||||
*判断点是否在圆内
|
||||
*@param point 待判断的经纬度坐标点
|
||||
*@param center 目标圆形的中心点经纬度坐标
|
||||
*@param radius 目标圆形的半径,单位m
|
||||
*@return 如果在内,返回YES,否则返回NO
|
||||
*/
|
||||
UIKIT_EXTERN BOOL BMKCircleContainsCoordinate(CLLocationCoordinate2D point, CLLocationCoordinate2D center, double radius);
|
||||
/**
|
||||
*判断点是否在多边形内
|
||||
*@param point 待判断的平面坐标点
|
||||
*@param polygon 目标多边形的顶点数组
|
||||
*@param count 目标多边形顶点数组元素个数
|
||||
*@return 如果在内,返回YES,否则返回NO
|
||||
*/
|
||||
UIKIT_EXTERN BOOL BMKPolygonContainsPoint(BMKMapPoint point, BMKMapPoint *polygon, NSUInteger count);
|
||||
|
||||
/**
|
||||
*判断点是否在多边形内
|
||||
*@param point 待判断的经纬度点
|
||||
*@param polygon 目标多边形的顶点数组
|
||||
*@param count 目标多边形顶点数组元素个数
|
||||
*@return 如果在内,返回YES,否则返回NO
|
||||
*/
|
||||
UIKIT_EXTERN BOOL BMKPolygonContainsCoordinate(CLLocationCoordinate2D point, CLLocationCoordinate2D *polygon, NSUInteger count);
|
||||
|
||||
/**
|
||||
*获取折线外某点到这线上距离最近的点
|
||||
*@param point 待判断的经纬度点
|
||||
*@param polyline 目标折线的顶点数组
|
||||
*@param count 目标折线顶点数组元素个数
|
||||
*@return 返回折线上的点(距离point最近)
|
||||
*/
|
||||
UIKIT_EXTERN BMKMapPoint BMKGetNearestMapPointFromPolyline(BMKMapPoint point, BMKMapPoint* polyline, NSUInteger count);
|
||||
|
||||
/**
|
||||
*计算地理矩形区域的面积
|
||||
*@param leftTop 左上角经纬度坐标点
|
||||
*@param rightBottom 右下角经纬度坐标点
|
||||
*@return 返回区域面积,单位:平方米
|
||||
*/
|
||||
UIKIT_EXTERN double BMKAreaBetweenCoordinates(CLLocationCoordinate2D leftTop, CLLocationCoordinate2D rightBottom);
|
||||
|
||||
/**
|
||||
*坐标转换函数,从原始GPS坐标,mapbar坐标,google坐标,51地图坐标,mapabc坐标转换为百度坐标(51地图坐标需要显出10000)
|
||||
*@param coordinate 待转换的坐标
|
||||
*@param type 待转换的坐标系类型,GPS为原始GPS坐标,COMMON为google坐标,51地图坐标,mapabc坐标
|
||||
*@return 返回的NSDictionry中包含“x”,“y”字段,各自对应经过base64加密之后的x,y坐标
|
||||
*/
|
||||
UIKIT_EXTERN NSDictionary* BMKConvertBaiduCoorFrom(CLLocationCoordinate2D coordinate,BMK_COORD_TYPE type);
|
||||
/**
|
||||
*base64加密后的坐标字典解密函数
|
||||
*@param dictionary 带解密的NSDictionry,该NSDictionry中应包含“x”,“y”字段,各自对应经过base64加密之后的x,y坐标
|
||||
*@return 解密之后的坐标
|
||||
*/
|
||||
UIKIT_EXTERN CLLocationCoordinate2D BMKCoorDictionaryDecode(NSDictionary* dictionary);
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
* BMKNavigation.h
|
||||
* BMapKit
|
||||
*
|
||||
* Copyright 2011 Baidu Inc. All rights reserved.
|
||||
*
|
||||
*/
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <BaiduMapAPI_Base/BMKTypes.h>
|
||||
//定义调起导航的两种类型
|
||||
//注:自2.8.0开始废弃,只支持调起客户端导航,在调起客户端导航时,才会调起web导航
|
||||
typedef enum
|
||||
{
|
||||
BMK_NAVI_TYPE_NATIVE = 0,//客户端导航
|
||||
BMK_NAVI_TYPE_WEB,//web导航
|
||||
} BMK_NAVI_TYPE;
|
||||
|
||||
///此类管理调起导航时传入的参数
|
||||
@interface BMKNaviPara : NSObject
|
||||
{
|
||||
BMKPlanNode* _startPoint;
|
||||
BMKPlanNode* _endPoint;
|
||||
BMK_NAVI_TYPE _naviType;
|
||||
NSString* _appScheme;
|
||||
NSString* _appName;
|
||||
}
|
||||
///起点,必须包含经纬度坐标(调起地图客户端时设置起点无效,以“我的位置”为起点)
|
||||
@property (nonatomic, strong) BMKPlanNode* startPoint;
|
||||
///终点,必须包含经纬度坐标
|
||||
@property (nonatomic, strong) BMKPlanNode* endPoint;
|
||||
///导航类型 注:自2.8.0开始废弃,只支持调起客户端导航,在调起客户端导航时,才会调起web导航
|
||||
@property (nonatomic, assign) BMK_NAVI_TYPE naviType __deprecated_msg("自2.8.0开始废弃");
|
||||
///应用返回scheme
|
||||
@property (nonatomic, strong) NSString* appScheme;
|
||||
///应用名称
|
||||
@property (nonatomic, strong) NSString* appName;
|
||||
///调起百度地图客户端驾车导航失败后(步行、骑行导航设置该参数无效),是否支持调起web地图,默认:YES
|
||||
@property (nonatomic, assign) BOOL isSupportWeb;
|
||||
|
||||
@end
|
||||
|
||||
///调起百度地图 -- 导航(驾车、步行、骑行)
|
||||
@interface BMKNavigation : NSObject
|
||||
|
||||
/**
|
||||
*调起百度地图客户端驾车导航页面
|
||||
*@param para 调起驾车导航时传入得参数
|
||||
*/
|
||||
+ (BMKOpenErrorCode)openBaiduMapNavigation:(BMKNaviPara*)para;
|
||||
|
||||
/**
|
||||
*调起百度地图客户端步行导航页面(不支持调起web地图)
|
||||
*客户端v8.8以后支持
|
||||
*@param para 调起步行导航时传入参数
|
||||
*/
|
||||
+ (BMKOpenErrorCode)openBaiduMapWalkNavigation:(BMKNaviPara*)para;
|
||||
|
||||
/**
|
||||
*调起百度地图客户端骑行导航页面(不支持调起web地图)
|
||||
*客户端v8.8以后支持
|
||||
*@param para 调起骑行导航时传入参数
|
||||
*/
|
||||
+ (BMKOpenErrorCode)openBaiduMapRideNavigation:(BMKNaviPara*)para;
|
||||
/**
|
||||
*调起百度地图AR步行导航
|
||||
*百度地图客户端v9.7.5以后支持AR步行导航,低于此版本,默认调用步行导航;注:客户端版本低于8.6.9,不支持步行导航。
|
||||
*@param para 调起AR步行导航时传入参数
|
||||
*/
|
||||
+ (BMKOpenErrorCode)openBaiduMapwalkARNavigation:(BMKNaviPara*)para;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
//
|
||||
// BMKOpenOption.h
|
||||
// UtilsComponent
|
||||
//
|
||||
// Created by wzy on 15/3/26.
|
||||
// Copyright (c) 2015年 baidu. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef UtilsComponent_BMKOpenOption_h
|
||||
#define UtilsComponent_BMKOpenOption_h
|
||||
|
||||
///调起百度地图参数基类
|
||||
@interface BMKOpenOption : NSObject
|
||||
|
||||
///应用返回scheme,用于调起后返回,没有不能返回
|
||||
@property (nonatomic, strong) NSString* appScheme;
|
||||
///调起百度地图客户端失败后,是否支持调起web地图,默认:YES
|
||||
@property (nonatomic, assign) BOOL isSupportWeb;
|
||||
|
||||
@end
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
//
|
||||
// BMKOpenPanorama.h
|
||||
// UtilsComponent
|
||||
//
|
||||
// Created by wzy on 16/5/12.
|
||||
// Copyright © 2016年 baidu. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef BMKOpenPanorama_h
|
||||
#define BMKOpenPanorama_h
|
||||
|
||||
#import <BaiduMapAPI_Base/BMKTypes.h>
|
||||
#import "BMKOpenOption.h"
|
||||
|
||||
@protocol BMKOpenPanoramaDelegate;
|
||||
|
||||
///调起百度地图全景参数类
|
||||
@interface BMKOpenPanoramaOption : BMKOpenOption
|
||||
|
||||
///poi的uid
|
||||
@property (nonatomic, strong) NSString* poiUid;
|
||||
|
||||
@end
|
||||
|
||||
///调起百度地图 -- 全景
|
||||
@interface BMKOpenPanorama : NSObject
|
||||
|
||||
@property (nonatomic, weak) id<BMKOpenPanoramaDelegate> delegate;
|
||||
|
||||
/**
|
||||
* 调起百度地图全景页面
|
||||
* 异步,调起结果在BMKOpenPanoramaDelegate的onGetOpenPanoramaStatus:通知
|
||||
*@param option 调起百度地图全景参数类(BMKOpenPanoramaOption)
|
||||
*/
|
||||
- (void)openBaiduMapPanorama:(BMKOpenPanoramaOption *) option;
|
||||
|
||||
@end
|
||||
|
||||
///调起百度地图全景delegate,用于获取调起状态
|
||||
@protocol BMKOpenPanoramaDelegate <NSObject>
|
||||
|
||||
- (void)onGetOpenPanoramaStatus:(BMKOpenErrorCode) ecode;
|
||||
|
||||
@end
|
||||
|
||||
#endif /* BMKOpenPanorama_h */
|
||||
@@ -0,0 +1,37 @@
|
||||
//
|
||||
// BMKOpenPoi.h
|
||||
// UtilsComponent
|
||||
//
|
||||
// Created by wzy on 15/3/26.
|
||||
// Copyright (c) 2015年 baidu. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef UtilsComponent_BMKOpenPoi_h
|
||||
#define UtilsComponent_BMKOpenPoi_h
|
||||
|
||||
#import "BMKOpenPoiOption.h"
|
||||
#import <BaiduMapAPI_Base/BMKTypes.h>
|
||||
|
||||
///调起百度地图 -- poi
|
||||
///注:从iphone百度地图 8.2.0版本开始支持
|
||||
@interface BMKOpenPoi : NSObject
|
||||
|
||||
/**
|
||||
* 调起百度地图poi详情页面
|
||||
* 注:从iphone百度地图 8.2.0版本开始支持
|
||||
*@param option poi详情参数类(BMKOpenPoiDetailOption)
|
||||
*@return 调起结果
|
||||
*/
|
||||
+ (BMKOpenErrorCode)openBaiduMapPoiDetailPage:(BMKOpenPoiDetailOption *) option;
|
||||
|
||||
/**
|
||||
* 调起百度地图poi周边检索页面
|
||||
* 注:从iphone百度地图 8.2.0版本开始支持
|
||||
*@param option poi周边参数类(BMKOpenPoiNearbyOption)
|
||||
*@return 调起结果
|
||||
*/
|
||||
+ (BMKOpenErrorCode)openBaiduMapPoiNearbySearch:(BMKOpenPoiNearbyOption *) option;
|
||||
|
||||
@end
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,39 @@
|
||||
//
|
||||
// BMKOpenPoiOption.h
|
||||
// UtilsComponent
|
||||
//
|
||||
// Created by wzy on 15/3/26.
|
||||
// Copyright (c) 2015年 baidu. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef UtilsComponent_BMKOpenPoiOption_h
|
||||
#define UtilsComponent_BMKOpenPoiOption_h
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
#import "BMKOpenOption.h"
|
||||
|
||||
///调起百度地图: poi详情参数类
|
||||
@interface BMKOpenPoiDetailOption : BMKOpenOption
|
||||
|
||||
///poi的uid
|
||||
@property (nonatomic, strong) NSString* poiUid;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
///调起百度地图: poi周边参数类
|
||||
@interface BMKOpenPoiNearbyOption : BMKOpenOption
|
||||
|
||||
///中心点(经纬度)
|
||||
@property (nonatomic, assign) CLLocationCoordinate2D location;
|
||||
///半径
|
||||
@property (nonatomic, assign) NSUInteger radius;
|
||||
///关键词
|
||||
@property (nonatomic, strong) NSString* keyword;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
//
|
||||
// BMKOpenRoute.h
|
||||
// UtilsComponent
|
||||
//
|
||||
// Created by wzy on 15/3/26.
|
||||
// Copyright (c) 2015年 baidu. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef UtilsComponent_BMKOpenRoute_h
|
||||
#define UtilsComponent_BMKOpenRoute_h
|
||||
#import "BMKOpenRouteOption.h"
|
||||
#import <BaiduMapAPI_Base/BMKTypes.h>
|
||||
|
||||
///调起百度地图 -- 路线
|
||||
///注:从iphone百度地图 8.2.0版本开始支持
|
||||
@interface BMKOpenRoute : NSObject
|
||||
|
||||
/**
|
||||
* 调起百度地图步行路线页面
|
||||
* 注:从iphone百度地图 8.2.0版本开始支持
|
||||
*@param option 步行路线参数类(BMKOpenWalkingRouteOption)
|
||||
*@return 调起结果
|
||||
*/
|
||||
+ (BMKOpenErrorCode)openBaiduMapWalkingRoute:(BMKOpenWalkingRouteOption *) option;
|
||||
|
||||
/**
|
||||
* 调起百度地图公交路线页面
|
||||
* 注:从iphone百度地图 8.2.0版本开始支持
|
||||
*@param option 公交路线参数类(BMKOpenTransitRouteOption)
|
||||
*@return 调起结果
|
||||
*/
|
||||
+ (BMKOpenErrorCode)openBaiduMapTransitRoute:(BMKOpenTransitRouteOption *) option;
|
||||
|
||||
/**
|
||||
* 调起百度地图驾车路线检索页面
|
||||
* 注:从iphone百度地图 8.2.0版本开始支持
|
||||
*@param option 驾车路线参数类(BMKOpenDrivingRouteOption)
|
||||
*@return 调起结果
|
||||
*/
|
||||
+ (BMKOpenErrorCode)openBaiduMapDrivingRoute:(BMKOpenDrivingRouteOption *) option;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,54 @@
|
||||
//
|
||||
// BMKOpenRouteOption.h
|
||||
// UtilsComponent
|
||||
//
|
||||
// Created by wzy on 15/3/26.
|
||||
// Copyright (c) 2015年 baidu. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef UtilsComponent_BMKOpenRouteOption_h
|
||||
#define UtilsComponent_BMKOpenRouteOption_h
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "BMKOpenOption.h"
|
||||
#import <BaiduMapAPI_Base/BMKTypes.h>
|
||||
|
||||
typedef enum
|
||||
{
|
||||
BMK_OPEN_TRANSIT_RECOMMAND = 3, //推荐
|
||||
BMK_OPEN_TRANSIT_TRANSFER_FIRST, //少换乘
|
||||
BMK_OPEN_TRANSIT_WALK_FIRST, //少步行
|
||||
BMK_OPEN_TRANSIT_NO_SUBWAY, //不坐地铁
|
||||
BMK_OPEN_TRANSIT_TIME_FIRST, //时间短
|
||||
}BMKOpenTransitPolicy;
|
||||
|
||||
///此类管理调起百度地图路线时传入的参数
|
||||
@interface BMKOpenRouteOption : BMKOpenOption
|
||||
|
||||
///起点
|
||||
@property (nonatomic, strong) BMKPlanNode *startPoint;
|
||||
///终点
|
||||
@property (nonatomic, strong) BMKPlanNode *endPoint;
|
||||
|
||||
@end
|
||||
|
||||
///此类管理调起百度地图步行路线时传入的参数
|
||||
@interface BMKOpenWalkingRouteOption : BMKOpenRouteOption
|
||||
|
||||
@end
|
||||
|
||||
///此类管理调起百度地图驾车路线时传入的参数
|
||||
@interface BMKOpenDrivingRouteOption : BMKOpenRouteOption
|
||||
|
||||
@end
|
||||
|
||||
///此类管理调起百度地图公共交通路线时传入的参数
|
||||
@interface BMKOpenTransitRouteOption : BMKOpenRouteOption
|
||||
|
||||
//策略,默认:BMK_OPEN_TRANSIT_RECOMMAND(异常值,强制使用BMK_OPEN_TRANSIT_RECOMMAND)
|
||||
@property (nonatomic, assign) BMKOpenTransitPolicy openTransitPolicy;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,18 @@
|
||||
//
|
||||
// BMKUtilsComponent.h
|
||||
// baiduMapSdk
|
||||
//
|
||||
// Created by baidu on 14-4-22.
|
||||
// Copyright (c) 2014年 baidu. All rights reserved.
|
||||
//
|
||||
|
||||
|
||||
#import "BMKGeometry.h"
|
||||
#import "BMKNavigation.h"
|
||||
#import "BMKOpenPoi.h"
|
||||
#import "BMKOpenRoute.h"
|
||||
#import "BMKOpenPoiOption.h"
|
||||
#import "BMKOpenRouteOption.h"
|
||||
#import "BMKFavPoiManager.h"
|
||||
#import "BMKUtilsVersion.h"
|
||||
#import "BMKOpenPanorama.h"
|
||||
@@ -0,0 +1,33 @@
|
||||
//
|
||||
// BMKUtilsVersion.h
|
||||
// UtilsComponent
|
||||
//
|
||||
// Created by wzy on 15/9/9.
|
||||
// Copyright © 2015年 baidu. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef BMKUtilsVersion_h
|
||||
#define BMKUtilsVersion_h
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
/**
|
||||
*重要:
|
||||
*utils组件的版本和base组件的版本必须一致,否则不能正常使用
|
||||
*/
|
||||
|
||||
/**
|
||||
*获取当前地图API utils组件 的版本号
|
||||
*当前utils组件版本 : 3.3.0
|
||||
*return 返回当前API utils组件 的版本号
|
||||
*/
|
||||
UIKIT_EXTERN NSString* BMKGetMapApiUtilsComponentVersion();
|
||||
|
||||
/**
|
||||
*检查utils组件的版本号是否和base组件的版本号一致
|
||||
*return 版本号一致返回YES
|
||||
*/
|
||||
UIKIT_EXTERN BOOL BMKCheckUtilsComponentIsLegal();
|
||||
|
||||
|
||||
#endif /* BMKUtilsVersion_h */
|
||||
@@ -0,0 +1,67 @@
|
||||
计算工具:包括测距(两点之间距离)、坐标转换、调起百度地图等功能;
|
||||
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------------
|
||||
|
||||
iOS 地图 SDK v3.3.0是适用于iOS系统移动设备的矢量地图开发包
|
||||
|
||||
--------------------------------------------------------------------------------------
|
||||
|
||||
地图SDK功能介绍(全功能开发包):
|
||||
|
||||
地图:提供地图展示和地图操作功能;
|
||||
|
||||
POI检索:支持周边检索、区域检索和城市内兴趣点检索;
|
||||
|
||||
地理编码:提供经纬度和地址信息相互转化的功能接口;
|
||||
|
||||
线路规划:支持公交、驾车、步行三种方式的线路规划;
|
||||
|
||||
覆盖物图层:支持在地图上添加覆盖物(标注、几何图形、热力图、地形图图层等),展示更丰富的LBS信息;
|
||||
|
||||
定位:获取当前位置信息,并在地图上展示(支持普通、跟随、罗盘三种模式);
|
||||
|
||||
离线地图:使用离线地图可节省用户流量,提供更好的地图展示效果;
|
||||
|
||||
调启百度地图:利用SDK接口,直接在本地打开百度地图客户端或WebApp,实现地图功能;
|
||||
|
||||
周边雷达:利用周边雷达功能,开发者可在App内低成本、快速实现查找周边使用相同App的用户位置的功能;
|
||||
|
||||
LBS云检索:支持查询存储在LBS云内的自有数据;
|
||||
|
||||
特色功能:提供短串分享、Place详情检索、热力图等特色功能,帮助开发者搭建功能更加强大的应用;
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------------
|
||||
|
||||
注:自v3.2.0起,百度地图iOS SDK全面支持HTTPS,需要广大开发者导入第三方openssl静态库:libssl.a和libcrypto.a(存放于thirdlib目录下)。
|
||||
|
||||
新 版 提 示 】
|
||||
【 注 意 】
|
||||
1、自v3.2.0起,百度地图iOS SDK全面支持HTTPS,需要广大开发者导入第三方openssl静态库:libssl.a和libcrypto.a(存放于thirdlib目录下)
|
||||
添加方法:在 TARGETS->Build Phases-> Link Binary With Libaries中点击“+”按钮,在弹出的窗口中点击“Add Other”按钮,选择libssl.a和libcrypto.a添加到工程中 。
|
||||
|
||||
2、支持CocoaPods导入
|
||||
pod setup //更新CocoPods的本地库
|
||||
pod search BaiduMapKit //下载最新地图SDK
|
||||
|
||||
【 新 增 】
|
||||
[ 基 础 地 图 ]
|
||||
3D地图下,增加显示天空效果,无需设置
|
||||
|
||||
[ 工 具 ]
|
||||
1.全面支持GCJ02坐标输入/输出,全局设置方法如下:
|
||||
[BMKMapManager setCoordinateTypeUsedInBaiduMapSDK:BMK_COORDTYPE_COMMON];//默认为BD09LL坐标,且此方法仅在国内生效,国外均为WGS84坐标
|
||||
|
||||
2. 新增调启步行AR导航接口:openBaiduMapwalkARNavigation
|
||||
|
||||
[ LBS云]
|
||||
云检索中,keywords 改为非必填项
|
||||
|
||||
【 优 化 】
|
||||
优化个性化地图元素分类
|
||||
|
||||
【 修 复 】
|
||||
少部分地铁线及室内图无法显示问题(v3.2.0引入的问题)。␍未下载全国离线基础包时,离线状态下全国(球)地图显示异常。␍␍
|
||||
Reference in New Issue
Block a user