iOS 百度地图轨迹回放

作者: 梦iOS | 来源:发表于2016-11-29 14:51 被阅读0次

我上次说的设置大头针的图片的方法,设置完了是不是发现图片位置不对?然后又没法微调位置对不对?

1.重新定义一个类继承BMKAnnotationView,并重写

初始化并返回一个annotation view

@param annotation关联的annotation对象

@param reuseIdentifier如果要重用view,传入一个字符串,否则设为nil,建议重用view

@return初始化成功则返回annotation view,否则返回nil

楼主实例代码

- (id)initWithAnnotation:(id)annotation reuseIdentifier:(NSString*)reuseIdentifier {

self= [superinitWithAnnotation:annotationreuseIdentifier:reuseIdentifier];这句话必须有

if(self) {

[selfsetBounds:CGRectMake(0.f,0.f,22.f,22.f)];

_imageView= [[UIImageViewalloc]initWithFrame:CGRectMake(0.f,0.f,22.f,22.f)];微调位置

_imageView.image= [UIImage imageNamed:@"sportarrow.png"];

[selfaddSubview:_imageView];

}

returnself;

}

1.初始化轨迹点

1.1你得把你的起点和终点显示出来吧(你得先有经纬度数据)

1.2存储所有位置

BMKMapPoint *points =new BMKMapPoint[count]; C++编译,文件至少保持一个.mm文件

1.3清除其他划线,并添加轨迹

根据指定坐标点生成一段折线

param points指定的直角坐标点数组

count坐标点的个数

新生成的折线对象

self.polyLine= [BMKPolyline polylineWithPoints:points count:count];

1.4添加轨迹

[self.map ViewaddOverlay:self.polyLine];

1.5根据polyline设置地图范围

就是这个方法

1.6计算两点之间的距离(有这个才能设置动画时间)

#pragma计算两点距离

-(double)reckonNodeDistance : (CLLocationCoordinate2D)startCoordina andEndNode : (CLLocationCoordinate2D)endCoordina{

CLLocation*orig=[[CLLocationalloc]initWithLatitude:startCoordina.latitudelongitude:startCoordina.longitude] ;

CLLocation* dist=[[CLLocationalloc]initWithLatitude:endCoordina.latitudelongitude:endCoordina.longitude];

CLLocationDistance kilometers=[orig distanceFromLocation:dist]/1000;

return kilometers;(双精度)

}

1.7轨迹运行动画

-(void)creatCarTrailPoint:(CLLocationCoordinate2D)coordina title:(NSString*)title distance : (double)distancecarSpeed : (double) speed{

[_mapViewsetZoomLevel:11];

//_sportAnnotationView.imageView.transform = CGAffineTransformMakeRotation([[[_requestData objectForKey:@"data"][timerNum + 2] objectForKey:@"msg_direction "] doubleValue]);

[UIView animateWithDuration:diatance/speed animations:^{

_car_trail_point.coordinate= coordina;

_car_trail_point.title= title;

[self.mapViewaddAnnotation:_car_trail_point];

BMKCoordinateRegionregion;

region.center= coordina;

[_mapViewsetRegion:regionanimated:YES];

}completion:nil];

}

使用动画效果来改变大头针经纬度可以实现平移效果,用计算的距离和速度来获取动画时间

注:以上纯属个人思路,建议新手学习。大神路过勿喷

相关文章

  • iOS 百度地图轨迹回放

    我上次说的设置大头针的图片的方法,设置完了是不是发现图片位置不对?然后又没法微调位置对不对? 1.重新定义一个类继...

  • Android百度地图轨迹回放

    目前需要做这样一个需求,后台返回一堆打点数据,要求Android端实现轨迹回放功能,带动画的那种,百度了很多,没有...

  • iOS基于高德地图轨迹回放

    基于高德地图demo海量轨迹回放修改的。话不多说直接上demo demo地址: https://github.co...

  • Openlayers 实例-轨迹回放

    几年前用高德地图做过手机版的轨迹回放,准备用Openlayers来实现一个web版的轨迹回放,轨迹回放的原理相对比...

  • uni小程序地图moveAlong 持续真机ios无效

    轨迹回放map的moveLong的success回调在ios和安卓的执行时间不同,导致真机ios上轨迹回放失效。在...

  • 谷歌地图轨迹回放实现

    先看效果: 在国内用到百度地图和高度地图都提供了比较好用的API接口, 用起来也顺手, 但是国外用到谷歌地图的时候...

  • 腾讯地图GPS轨迹回放

    前言 当我们使用地图进行开发时,利用已经录制好的轨迹进行轨迹回放来检查导航的准确性是十分常用的手段,并且上一篇已经...

  • iOS MKMapView 地图轨迹回放的动画实现

    这个动画是我们的app<柠檬跑步>1.6.0版本中的一个主要功能,先看效果: 我们只看轨迹回放相关的动画组,拆分后...

  • Android 开源项目及库汇总(2)

    地图 百度地图– Android百度地图 线路规划,模拟运动轨迹,及全景效果。 AirMapView– 支持多个本...

  • 【移动端】百度地图之历史轨迹回放

    官方demo本身是有历史轨迹例子的,运行起来也是非常666的,但在此基础上扩展功能是非常操蛋的。在此还耽误了整整两...

网友评论

    本文标题:iOS 百度地图轨迹回放

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