IOS地图开发,MapKit框架对行走路径的显示

http://lbs.amap.com/api/ios-sdk/guide/draw-on-map/draw-polyline/
高德地图开放平台中对路径显示给开发者提供的接口
想要画出路径第一经纬度的信息,第二轨迹的显示

  1. 需要我们移动时的位置信息,创建项目,将MapKit框架添加进来。
  2. 遵循协议CLLocationManagerDelegate, MKMapViewDelegate(这里地图显示就不说了网上好多也就几行代码)。
  3. 实现方法- (void)locationManager:(CLLocationManager *)manager
    didUpdateToLocation:(CLLocation *)newLocation
    fromLocation:(CLLocation )oldLocation或者- (void)mapView:(MKMapView )mapView didUpdateUserLocation:(MKUserLocation *)userLocation因为两个方法都能获得我们的位置信息你实现哪个都行。
  4. 其中第一个方法得到的位置信息需要进行处理:http://blog.csdn.net/swingpyzf/article/details/16972351#0-tsina-1-80473-397232819ff9a47a7b7e80a40613cfe1 使用上面博主的方法处理下位置信息就行了(如果位置不对看下他博客评论)在上面两个方法中把位置信息添加进我们的数组以便使用。
  5. 在上面方法里面实现
    CLLocationCoordinate2D loc = [userLocation coordinate];
    NSString *locStr = [NSString stringWithFormat:@”%.5f,%.5f”,loc.latitude,loc.longitude];
    if (![_locations.lastObject isEqualToString:locStr]) {
    [_locations addObject:locStr];
    }
    if (_locations.count == 3) {
    [_locations removeObjectAtIndex:0];
    [self getLocationsData:_locations];
    }
    /对加进数组的位置信息处理并画线/
  6. (void)getLocationsData:(NSMutableArray *)locationArray {
    CLLocationCoordinate2D commonPolylineCoords[locationArray.count];
    for (int i = 0; i< 2; i++) {
    NSArray *latLonArr = [locationArray[i] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@”,”]];
    CLLocationDegrees latitude = [[latLonArr objectAtIndex:0] doubleValue];
    CLLocationDegrees longitude = [[latLonArr objectAtIndex:1] doubleValue];

    commonPolylineCoords[i].latitude = latitude;
    commonPolylineCoords[i].longitude = longitude;
    

    }
    //构造折线对象
    MKPolyline *commonPolyline = [MKPolyline polylineWithCoordinates:commonPolylineCoords count:locationArray.count];
    //在地图上添加折线对象
    [_mapView addOverlay: commonPolyline];
    }

  7. 显示出路径

    • (MKOverlayView )mapView:(MKMapView )mapView viewForOverlay:(id)overlay {
      if ([overlay isKindOfClass:[MKPolyline class]])
      {
      MKPolylineView *polylineView = [[MKPolylineView alloc] initWithPolyline:overlay];

      polylineView.lineWidth = 10.f;
      polylineView.strokeColor = [UIColor colorWithRed:0 green:0 blue:1 alpha:0.6];
      polylineView.lineJoin = kCALineJoinRound;//连接类型
      polylineView.lineCap = kCGLineCapRound;//端点类型

      return polylineView;
      }
      return nil;
      }

nvm是一个用来管理nodejs版本的工具,可以通过nvm来安装和切换不同版本的nodejs。首先,你需要卸载你原有的node版本,然后删除相关的文件和环境变量。接下来,你可以从nvm的官方网站下载nvm安装程序,并按照指示进行安装。安装完成后,你可以使用nvm命令来安装指定版本的nodejs,例如使用"nvm install \[node的版本号\]"来安装14.17.2版本的nodejs。安装完成后,你可以使用"nvm use \[node的版本号\]"来切换到指定版本的nodejs。最后,你可以使用"node -v"命令来验证nodejs是否安装成功。希望这些步骤对你有帮助。 #### 引用[.reference_title] - *1* [nvm下载安装+使用教程(管理nodejs版本,实现按需加载版本)](https://blog.csdn.net/m0_54355172/article/details/126793854)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [使用NVM安装NodeJS并解决npm下载依赖失效问题(最全流程)](https://blog.csdn.net/qq_45225759/article/details/124481233)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [利用nvm下载nodejs](https://blog.csdn.net/weixin_45113182/article/details/127875685)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值