有关基本地图的实现参考 【iOS百度地图系列_0】百度地图的配置及实现基本地图
1.卫星图
//切换为卫星图
[_mapView setMapType:BMKMapTypeSatellite];
由卫星图切换为普通矢量图的核心代码如下:
//切换为普通地图
[_mapView setMapType:BMKMapTypeStandard];
开启实时路况的核心代码如下:
//打开实时路况图层
[_mapView setTrafficEnabled:YES];
关闭实时路况的核心代码如下:
//关闭实时路况图层
[_mapView setTrafficEnabled:NO];
3.城市热力图
//打开百度城市热力图图层(百度自有数据)
[_mapView setBaiduHeatMapEnabled:YES];
//关闭百度城市热力图图层(百度自有数据)
[_mapView setBaiduHeatMapEnabled:NO];
4.添加覆盖物
通过定制BMKAnnotation和BMKOverlay来添加对应的标注点和覆盖物。地图覆盖物的设计遵循数据与View分离的原则,BMKAnnotation和BMKOverlay系列的类主要用来存放覆盖物相关的数据,BMKAnnotaionView和BMKOverlayView系列类为覆盖物对应的View。SDK支持画点、折线、圆、多边形(包括凹凸两种)、图片图层和自定义覆盖物。
(1)添加点(大头针)
- (void) viewDidAppear:(BOOL)animated {
// 添加一个PointAnnotation
BMKPointAnnotation* annotation = [[BMKPointAnnotation alloc]init];
CLLocationCoordinate2D coor;
coor.latitude = 39.915;
coor.longitude = 116.404;
annotation.coordinate = coor;
annotation.title = @"这里是北京";
[_mapView addAnnotation:annotation];
}
// Override
- (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id <BMKAnnotation>)annotation
{
if ([annotation isKindOfClass:[BMKPointAnnotation class]]) {
BMKPinAnnotationView *newAnnotationView = [[BMKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"myAnnotation"];
newAnnotationView.pinColor = BMKPinAnnotationColorPurple;
newAnnotationView.animatesDrop = YES;// 设置该标注点动画显示
return newAnnotationView;
}
return nil;
}
(2)折线
- (void)viewDidLoad