• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 显示位置并在 ios 中找到最近的位置

[复制链接]
菜鸟教程小白 发表于 2022-12-13 10:41:41 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我想显示我的点 NSArray *chSpot = [parser parseArray:responseObject]; 接收 3 个对象,我想显示每个位置的经纬度 enter image description here

并根据我的位置找到最近的地点...我正在使用此代码:

         NSArray *chSpot = [parser parseArray:responseObject];

//GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:[locLat doubleValue] //经度:[locLong doubleValue] //缩放:4];

     mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:nil];
     mapView_.myLocationEnabled = YES;
     mapView_.settings.myLocationButton = YES;


     for (int i=0; i<chSpot.count; i++)
     {

         ChargingSpots *spot = [chSpot objectAtIndex:i];
         NSString *locLat = spot.LocationLat;
         NSString *locLong = spot.LocationLong;


         // Creates a marker in the center of the map.
         GMSMarker *marker = [[GMSMarker alloc] init];
         marker.position = CLLocationCoordinate2DMake([locLat doubleValue], [locLong doubleValue]);
         marker.title = @"Amman";
         marker.snippet = @"Jordan";

         mapView_.delegate=self;
         marker.appearAnimation = kGMSMarkerAnimationPop;
         marker.icon = [UIImage imageNamed"car"];
         marker.map = mapView_;

     }

     //[mapView_ setSelectedMarker:marker];

     self.view = mapView_;

//
//
//CLLocation *locationA = [[CLLocation alloc] initWithLatitude:[locLat doubleValue] longitude:[locLong doubleValue]]; //
//CLLocation *locationB = [[CLLocation alloc] initWithLatitude:[locLat doubleValue] longitude:[locLong doubleValue]]; //
//CLLocationDistance distance = [ locationA distanceFromLocation:locationB]; //
//NSLog (@"%f",distance);

     self.locationManager = [[CLLocationManager alloc] init];
     self.locationManager.distanceFilter = kCLDistanceFilterNone;
     self.locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;

     [self.locationManager startUpdatingLocation];



Best Answer-推荐答案


在 locationManager 的委托(delegate)方法 locationManager:didUpdateLocations: 中,您可以获得当前位置,它提供了计算 distanceFromLocationconst CLLocation *)location 的方法

CLLocationDistance distA = [currentLocation distanceFromLocation: locationA]; CLLocationDistance distB = [currentLocation distanceFromLocation: locationB];//等等

关于ios - 显示位置并在 ios 中找到最近的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32477399/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap