美文网首页
iOS开发之高德地图

iOS开发之高德地图

作者: 橘子味草莓 | 来源:发表于2020-10-28 13:17 被阅读0次

初始化

//初始化地图

-(void)InitSubViewMapView

{

    /*创建地图*/

    self.mapView = [[MAMapView alloc] initWithFrame:CGRectMake(0, 0, kScreenW, kScreenHeight-IPHONEX_SAFE_BOTTOM_MARGIN)];

    self.mapView.delegate=self;

    ///如果您需要进入地图就显示定位小蓝点,则需要下面两行代码

    self.mapView.showsUserLocation = YES;

    self.mapView.userTrackingMode = MAUserTrackingModeFollow;

    //是否显示指南针

    self.mapView.showsCompass=NO;

    //设置缩放范围

    [self.mapView setZoomLevel:18 animated:YES];

    //自定义地图

    NSString *path1 = [NSString stringWithFormat:@"%@/style_extra.data", [NSBundle mainBundle].bundlePath];

    NSString *path2 = [NSString stringWithFormat:@"%@/style.data", [NSBundle mainBundle].bundlePath];

    NSData *data1 = [NSData dataWithContentsOfFile:path1];

    NSData *data2 = [NSData dataWithContentsOfFile:path2];

    MAMapCustomStyleOptions *options = [[MAMapCustomStyleOptions alloc] init];

    options.styleData= data2;

    options.styleExtraData= data1;

    [self.mapView setCustomMapStyleOptions:options];

    [self.mapView setCustomMapStyleEnabled:YES];

    [self.view addSubview:self.mapView];

}

不需要用到的时候记得销毁 

- (void)viewWillAppear:(BOOL)animated{

    [superviewWillAppear:animated];

    _mapView.showsUserLocation = YES;

    _mapView.delegate=self;

}

-(void)viewWillDisappear:(BOOL)animated

{

    [superviewWillDisappear:animated];

    _mapView.showsUserLocation = NO;

    _mapView.delegate=nil;

}

地图拖动时会出现延迟的现象

方法1:

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated

{

     [self applyMapViewMemoryRelease];

}

- (void)applyMapViewMemoryRelease{

    MKMapType _type = _mapView.mapType;

    switch(_mapView.mapType) {

        case MKMapTypeHybrid:

        {

            _mapView.mapType = MKMapTypeStandard;

        }

            break;

        case MKMapTypeStandard:

        {

            _mapView.mapType = MKMapTypeHybrid;

        }

            break;

        default:

            break;

    }

    _mapView.mapType= _type;

}

但这样滑动显示区域时会有闪烁

方法2:

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated

{

    [self.mapView removeFromSuperview];

    [self.viewaddSubview:mapView];

}

这样可以有效改善内存暴涨的问题

相关文章

  • iOS开发之高德地图

    之前的项目用到了高德地图sdk,在此对于定位和逆地理编码,天气查询等功能做一个总结,有什么不正确的地方,欢迎提出来...

  • iOS开发之高德地图

    初始化 //初始化地图 -(void)InitSubViewMapView { /*创建地图*/ self...

  • iOS 高德地图开发详解

    iOS 高德地图开发详解

  • iOS 高德地图 自定义地图样式

    iOS 高德地图 自定义地图样式 1.创建高德地图账号,创建应用高德地图开放平台的开发者在取得开发者账号后,可以进...

  • Android开发之高德地图实现定位

    在应用开发中,地图开发是经常需要使用的“组件”,Google Map虽然有官方教程,无奈用不起来,原因你懂的~~那...

  • iOS开发之高德地图的应用与开发之一:定位

    高德地图的集成前期准备 最近公司需要实现一个共享停车位的功能,目的就是想让一些已经有车位的人,在他们不用车位的时间...

  • iOS地图的使用

    在iOS开发中要用到地图时选择很多,例如第三方的高德地图、百度地图都是很好的选择,当然最基础的则是iOS中自带的地...

  • 安卓run keystore缺失问题

    前段时间集成高德地图需求,网上有位大神根据uikitview和PlatformView原理开发了高德插件,ios安...

  • 地图(二)-MapKit

    一、地图开发介绍 从iOS6.0开始地图数据不再由谷歌驱动,而是改用自家地图,当然在国内它的数据是由高德地图提供的...

  • iOS学习笔记20-地图(二)MapKit框架

    一、地图开发介绍 从iOS6.0开始地图数据不再由谷歌驱动,而是改用自家地图,当然在国内它的数据是由高德地图提供的...

网友评论

      本文标题:iOS开发之高德地图

      本文链接:https://www.haomeiwen.com/subject/eriqvktx.html