首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    iOS在地图上WGS84、GCJ-02、BD-09互转解决方案

    )wgs84ToGcj02:(CLLocationCoordinate2D)location; /** * @brief 中国国測局地理坐标(GCJ-02) 转换成 世界标准地理坐标(WGS-84 :location.longitude]; } + (CLLocationCoordinate2D)gcj02ToWgs84:(CLLocationCoordinate2D)location { wgs84ToBd09:(CLLocationCoordinate2D)location { CLLocationCoordinate2D gcj02Pt = [self gcj02Encrypt :location.longitude]; } + (CLLocationCoordinate2D)bd09ToGcj02:(CLLocationCoordinate2D)location { :(CLLocationCoordinate2D)location { CLLocationCoordinate2D gcj02 = [self bd09ToGcj02:location];

    1.5K20编辑于 2022-07-06
  • 来自专栏大话swift

    移动端地图哪些事

    )wgs84ToGcj02:(CLLocationCoordinate2D)location; GCJ-02 -> WGS-84 此接口有1-2米左右的误差,需要精确的场景慎用 + (CLLocationCoordinate2D )gcj02ToWgs84:(CLLocationCoordinate2D)location; WGS-84 -> BD-09 + (CLLocationCoordinate2D)wgs84ToBd09 :(CLLocationCoordinate2D)location; BD-09 -> WGS-84 + (CLLocationCoordinate2D)bd09ToWgs84:(CLLocationCoordinate2D )location; GCJ-02 -> BD-09 + (CLLocationCoordinate2D)gcj02ToBd09:(CLLocationCoordinate2D)location; BD -09 -> GCJ-02 此接口有1-2米左右的误差,需要精确的场景慎用 + (CLLocationCoordinate2D)bd09ToGcj02:(CLLocationCoordinate2D

    1.5K20发布于 2019-12-03
  • 来自专栏码客

    iOS地图开发2-坐标系的转换(swift)

    )->CLLocationCoordinate2D { var adjustLoc=CLLocationCoordinate2D(); if( isLocationOutOfChina ) -> CLLocationCoordinate2D { var z = sqrt(p.longitude * p.longitude + p.latitude * p.latitude )-> CLLocationCoordinate2D { var x = p.longitude - 0.0065, y = p.latitude - 0.006; , p1:CLLocationCoordinate2D, p2:CLLocationCoordinate2D)->Bool { return (point.latitude ,point2:CLLocationCoordinate2D)->Double{ return distanceByPoint(point1.latitude, lat2: point2

    1.8K10发布于 2019-10-22
  • 来自专栏全栈程序员必看

    火星坐标系统_怎样算自己的上升星座

    )MarsGS2BaiduGS:(CLLocationCoordinate2D)coordinate { double x_pi = PI * 3000.0 / 180.0; double )BaiduGS2MarsGS:(CLLocationCoordinate2D)coordinate { double x_pi = PI * 3000.0 / 180.0; double )WorldGS2BaiduGS:(CLLocationCoordinate2D)coordinate 3 { 4 CLLocationCoordinate2D mars = [ALDGeocoder WorldGS2MarsGS:coordinate]; 5 CLLocationCoordinate2D baidu = [ALDGeocoder MarsGS2BaiduGS:mars]; :(CLLocationCoordinate2D)coordinate 11 { 12 CLLocationCoordinate2D mars = [ALDGeocoder BaiduGS2MarsGS

    66460编辑于 2022-09-20
  • 来自专栏全栈程序员必看

    IOS MapView 用法

    CLLocationDegrees latitudeDelta; CLLocationDegrees longitudeDelta; } MKCoordinateSpan; typedef struct{ CLLocationCoordinate2D @synthesize mymapkit; – (void)viewDidLoad { [super viewDidLoad]; //set display jing wei du CLLocationCoordinate2D MKAnnotation> @end 4 create myAnnotation.m file #import “myAnnotation.h” @implementation myAnnotation -(CLLocationCoordinate2D ) coordinate { CLLocationCoordinate2D center; center.latitude=40.029915; center.longitude=

    62120编辑于 2022-07-05
  • 来自专栏娱乐心理测试

    高德与百度地图坐标的相互转化(IOS和h5)

    IOS高德坐标转百度 +(CLLocationCoordinate2D) bd_decrypt:(double)gg_lat gg_lon:(double)gg_lon { double x = * y) + 0.00002 * sin(y * x_pi); double theta = atan2(y, x) + 0.000003 * cos(x * x_pi); CLLocationCoordinate2D CLLocationCoordinate2DMake(z * sin(theta)+0.006, z * cos(theta)+0.0065); return coordinate; } IOS百度坐标转高德 +(CLLocationCoordinate2D + y * y) - 0.00002 * sin(y * x_pi); double theta = atan2(y, x) - 0.000003 * cos(x * x_pi); CLLocationCoordinate2D

    1.3K30发布于 2019-03-15
  • 来自专栏一“技”之长

    iOS原生地图开发指南再续——地图覆盖物的应用

    , MKCoordinateSpanMake(10, 10));     //设置代理     _mapView.delegate=self;     //下面是C的语法,创建一个结构体数组     CLLocationCoordinate2D  *coor;     coor = malloc(sizeof(CLLocationCoordinate2D)*5);     for (int i=0; i<5; i++) {         CLLocationCoordinate2D CLLocationCoordinate2DMake(33.23, 113.122), MKCoordinateSpanMake(10, 10));     _mapView.delegate=self;     CLLocationCoordinate2D  *coor;     coor = malloc(sizeof(CLLocationCoordinate2D)*6);     for (int i=0; i<5; i++) {         CLLocationCoordinate2D

    89430发布于 2018-08-16
  • 来自专栏腾讯位置服务

    腾讯位置服务教你快速实现距离测量小工具

    UILongPressGestureRecognizer *)gesture { if (gesture.state == UIGestureRecognizerStateBegan) { // 取点 CLLocationCoordinate2D addAnnotation:annotation]; [self handlePoyline]; } } 腾讯地图的QMapView类中,提供了可以将屏幕坐标直接转为地图坐标的便利方法:- (CLLocationCoordinate2D if (self.annotationArray.count > 1) { NSInteger count = self.annotationArray.count; CLLocationCoordinate2D annotation2.coordinate); } [self updateDistanceLabel]; } QMetersBetweenCoordinates()方法接收两个CLLocationCoordinate2D

    1.4K41发布于 2020-07-24
  • 来自专栏iOS开发~

    iOS_调起各个地图软件

    #pragma mark - 弹出选择地图alert + (void)popMapsAlertWithVC:(UIViewController *)vc toCoor:(CLLocationCoordinate2D animated:YES completion:nil]; } #pragma mark - 打开对应的导航app + (void)openMapWith:(NSString *)mapName toCoor:(CLLocationCoordinate2D sharedApplication] openURL:url]; } } } #pragma mark - 打开苹果地图 + (void)openAppleMapWithToCoor:(CLLocationCoordinate2D targetName:(NSString *)targetName { MKMapItem *location = [MKMapItem mapItemForCurrentLocation]; CLLocationCoordinate2D

    54510编辑于 2022-07-20
  • 来自专栏码客

    iOS地图开发3-原生封装的调用(swift)

    会一直定位 appMapView.showsUserLocation = false; //是否允许缩放 appMapView.zoomEnabled = true; //设置中心点 var pos:CLLocationCoordinate2D = CLLocationCoordinate2D(latitude: 34.8214611335501, longitude: 113.669539617823); var viewRegion =

    1.2K10发布于 2019-10-22
  • 来自专栏Swift社区

    如何使用 SwiftUI 中新地图框架 MapKit

    下面让我们看看是如何使用的,这里是一些伦敦地标的坐标: extension CLLocationCoordinate2D { static let towerBridge = CLLocationCoordinate2D (latitude: 51.5055, longitude: -0.075406) static let boe = CLLocationCoordinate2D(latitude: 51.5142 , longitude: -0.0885) static let hydepark = CLLocationCoordinate2D(latitude: 51.508611, longitude: -0.163611) static let kingsCross = CLLocationCoordinate2D(latitude: 51.5309, longitude: -0.1233) }

    1.8K31编辑于 2023-09-06
  • 来自专栏陈满iOS

    iOS·采用第三方(百度地图SDK)实现定位等功能开发

    pt = (CLLocationCoordinate2D){0, 0};//初始化 if (_locService.userLocation.location.coordinate.longitude (nonatomic, strong) NSArray* poiList; @end ///地址编码结果 @interface BMKGeoCodeResult : NSObject { CLLocationCoordinate2D _location; NSString* _address; } ///地理编码位置 @property (nonatomic) CLLocationCoordinate2D location BMKPlanNode : NSObject{ NSString* _cityName; NSString* _name; CLLocationCoordinate2D : NSObject ///节点所在楼层 @property (nonatomic, retain) NSString* floor; ///节点坐标 @property (nonatomic) CLLocationCoordinate2D

    2.5K30发布于 2018-09-10
  • 来自专栏大数据文摘

    孩子喜欢飞机,于是我给她做了一个雷达

    final class FlightAPI { func fetchLocalFlightData(coordinate: CLLocationCoordinate2D) async 不过为了帮助提高客户端的稳健性,我在API调用中实现了一些基本的重试逻辑: private func fetchFlights(at coordinate: CLLocationCoordinate2D private func rectangle(around coordinate: CLLocationCoordinate2D) -> [CLLocationCoordinate2D] { [ CLLocationCoordinate2D(latitude: coordinate.latitude - 1, longitude: coordinate.longitude - 1) ] } private func overlay(coordinate: CLLocationCoordinate2D) -> MKPolygon

    72710编辑于 2023-11-28
  • 来自专栏日常技术分享

    iOS 调用苹果自带地图导航不准确问题解决

    直接上代码 // 苹果地图导航 + (void)navAppleMap:(NSString *)lat lng:(NSString *)lng { //坐标转换 CLLocationCoordinate2D loc = CLLocationCoordinate2DMake(lat.doubleValue, lng.doubleValue); //将GPS转成高德坐标 CLLocationCoordinate2D [MKMapItem openMapsWithItems:items launchOptions:dic]; } 如果后台返回的是百度经纬度,使用以下方法 //将GPS转成高德坐标 CLLocationCoordinate2D

    4.3K10发布于 2018-12-14
  • 来自专栏腾讯位置服务

    腾讯位置服务地图SDK公交路线规划应用示例

    需要花费的金额,元 CNSString *direction 方向描述,如果为步行,表达为向哪个方向走 NSArray *polyline 分段途径坐标点(这里必须说一下,腾讯地图SDK使用的是CLLocationCoordinate2D routePlan.steps.count; 2)、通过判断分段方案的类型,来区分虚线和蚯蚓线: if ([self routeIsWalkingPlan:plan]) { // 步行虚线 CLLocationCoordinate2D for (int i = 0; i < plan.polyline.count; i++) { NSValue *value = plan.polyline[i]; CLLocationCoordinate2D walkingPolyline]; } else { // 驾车蚯蚓线 QMSBusingRouteTransitLine *line = plan.lines[0]; CLLocationCoordinate2D [1]; NSString *northEastLatString = array[2]; NSString *northEastLongString = array[3]; CLLocationCoordinate2D

    1.4K51发布于 2020-12-11
  • 来自专栏ShaoYL

    iOS地图----MapKit框架

    //地图的区域改变完成时调用 设置地图显示区域,和经纬度跨度 ①通过MKMapView的下列方法,可以设置地图显示的位置和区域 // 设置地图的中心点位置 @property (nonatomic) CLLocationCoordinate2D centerCoordinate; - (void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated ; ②MKCoordinateRegion //MKCoordinateRegion是一个用来表示区域的结构体,定义如下 typedef struct { CLLocationCoordinate2D 纬度跨度 CLLocationDegrees longitudeDelta; // 经度跨度 } MKCoordinateSpan; 例:回到当前位置 // 1.拿到用户的经纬度 CLLocationCoordinate2D 为了改写协议中属性--变量的值,重写这些变量 这里的属性,只是为了定义get和set方法,不是所谓的传统属性 /** * 大头针的位置 */ @property (nonatomic, assign) CLLocationCoordinate2D

    2K40发布于 2018-05-11
  • 来自专栏iOSer

    用墨卡托和GPS坐标计算距离时误差测试

    mkt dis = %.2f", dis1); //gps计算距离 HTMktCoor lCoor = {x0, y0}; CLLocationCoordinate2D initWithLatitude:lGPS0.latitude longitude:lGPS0.longitude]; HTMktCoor lCoor1 = {x1, y1}; CLLocationCoordinate2D )coordinate; //墨卡托 坐标转换成 WGS-84 坐标 + (CLLocationCoordinate2D)Mercator2WorldGS:(HTMktCoor)mercator; @end + (HTMktCoor)WorldGS2Mercator:(CLLocationCoordinate2D)coordinate { double lon = coordinate.longitude + (CLLocationCoordinate2D)Mercator2WorldGS:(HTMktCoor)mercator { double lon = mercator.x/20037508.34

    2.4K20发布于 2020-09-04
  • 来自专栏一“技”之长

    iOS原生地图开发指南 原

    region结构体如下: typedef struct {     CLLocationCoordinate2D center;//地图中心的经纬度     MKCoordinateSpan span; //地图显示的经纬度范围 } MKCoordinateRegion; 这个结构体中包含了两个结构体,其中CLLocationCoordinate2D很好理解,就是简单的经纬度,解释如下: typedef centerCoordinate; 设置地图的中心点位置 - (void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated :(BOOL)animated; 设置地图的中心点位置,并附带动画效果 4、坐标转换方法 - (CGPoint)convertCoordinate:(CLLocationCoordinate2D)coordinate toPointToView:(UIView *)view; 将经纬度转换为视图上的坐标 - (CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView

    1.7K30发布于 2018-08-16
  • 来自专栏全栈程序员必看

    iOS的高德地图标注特定位置

    MapViewCtl ()<MKMapViewDelegate> 10 { 11 MKMapView *mapView; 12 } 13 @property (nonatomic, readwrite) CLLocationCoordinate2D 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)]; 21 22 mapView.mapType = MKMapTypeStandard; 23 24 CLLocationCoordinate2D

    1.3K30编辑于 2022-08-31
  • 来自专栏MapleYe

    【iOS】RxSwift官方Example3--地理位置监听

    drive(showLocationLabel.rx.coordinates) .addDisposableTo(disposeBag) 1、对UILabel的扩展 可以看到上面的例子,将CLLocationCoordinate2D 扩展方法如下: /* 意思就是当Reactive的Base对象是UILabel时,增加一个类型为UIBindingObserver<Base, CLLocationCoordinate2D>的coordinates */ private extension Reactive where Base: UILabel { var coordinates: UIBindingObserver<Base, CLLocationCoordinate2D location.longitude)" }) } } 在后面的block参数列表中,label的类型是泛型中的Base类型(例子是UILabel),location是泛型中的CLLocationCoordinate2D GeolocationService() private (set) var authorized: Driver<Bool> private (set) var location: Driver<CLLocationCoordinate2D

    1.4K20发布于 2020-03-31
领券