首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏滕先生的博客

    地图相关 MapKit框架介绍MKMapView控件对象的属性和方法MKAnnotation 大头针模型类大头针view显示类:MKPinAnnotationView 继承于 MKAnnotation

    setRegion:(MKCoordinateRegion)region animated:(BOOL)animated; 2.在地图上添加一个大头针 - (void)addAnnotation:(id <MKAnnotation - (nullable MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation > 140 || longitude > 140) { // return; // } } ---- 1、自定义系统类型大头针 (MKPinAnnotationView),使用的MKAnnotation 大头针模型,只能改变大头针颜色,标题、子标题等属性 2、完全自定义大头针模型:创建一个模型类继承于NSObject,遵守协议 <MKAnnotation>,.h 选择设置以下属性,注意去掉readonly ,其它属性如image可自定义 MKAnnotation 大头针模型类 (1)经纬度,必须设置的属性 @property (nonatomic) CLLocationCoordinate2D coordinate

    5.7K70发布于 2018-05-18
  • 来自专栏一“技”之长

    iOS原生地图开发指南续——大头针与自定义标注

    一、先来认识一个协议MKAnnotation 官方文档告诉我们,所有标注的类必须遵守这个协议。所以可以了解,标注这个概念在逻辑属性和视图上是分开的。 先来看下这个协议声明了哪些方法: @protocol MKAnnotation <NSObject> @property (nonatomic, readonly) CLLocationCoordinate2D ,我们可以重写这个方法进行大头针的重绘,来更改其颜色: -(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation animatesDrop; 设置添加时是否显示降落动画 三、自定义标注视图 -(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation

    1.5K30发布于 2018-08-16
  • 来自专栏Alice

    ios地图小例子和手势的使用 供大家参考一下呦

    目标:在地图上加上标记  同时复习一下手势的使用 效果图: 具体代码 导入框架:MapKit.framework 创建一个新类 继承NSObject  叫做MyAnnotation   并在后边加上<MKAnnotation > #import <Foundation/Foundation.h> #import <MapKit/MapKit.h> @interface MyAnnotation : NSObject<MKAnnotation pragma mark-mapView的代理方法-显示标识的方法 -(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation

    1.1K90发布于 2018-02-01
  • 来自专栏ShaoYL

    iOS地图----MapKit框架

    animated:YES]; 5.大头针 钉在某个具体位置,用来标识这个位置上有特定的事物(比如这个位置上有家餐馆) ①大头针的基本操作 // 添加一个大头针 - (void)addAnnotation:(id <MKAnnotation // 添加多个大头针 - (void)addAnnotations:(NSArray *)annotations; // 移除一个大头针 - (void)removeAnnotation:(id <MKAnnotation * * @return 大头针的view */ - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation MKAnnotationView // 每次添加大头针就会调用此方法 - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation initWithAnnotation:nil reuseIdentifier:identifier]; } return annoView; } //- (void)setAnnotation:(id<MKAnnotation

    2K40发布于 2018-05-11
  • 来自专栏全栈程序员必看

    iOS iOS 地图与定位开发系列教程

    这个类使用(符合)MKAnnotation协议。 MKAnnotation包含了多个属性,如:位置(经纬度,CLLocationCoordinate2D类型)、文字标记信息(NSString类型)等。 的一个特别案例(因为MKAnnotation可以是地图上的任何标记,而MKUserLocation只是标记了地图上手机所在的当前位置)。 addAnnotation:myPoint]; } - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation - (nullable MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation

    3.4K30编辑于 2022-09-17
  • 来自专栏一“技”之长

    iOS原生地图开发指南 原

    readonly, getter=isUserLocationVisible) BOOL userLocationVisible; 获取用户位置是否可见 - (void)addAnnotation:(id <MKAnnotation 在地图上添加一个标注 - (void)addAnnotations:(NSArray *)annotations; 在地图上添加一组标注 - (void)removeAnnotation:(id <MKAnnotation dequeueReusableAnnotationViewWithIdentifier:(NSString *)identifier; 获取复用的标注 - (void)selectAnnotation:(id <MKAnnotation >)annotation animated:(BOOL)animated; 选中一个标注 - (void)deselectAnnotation:(id <MKAnnotation>)annotation NSError *)error; 地图加载失败时执行的方法 - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation

    1.7K30发布于 2018-08-16
  • 来自专栏学海无涯

    iOS开发之地图

    点击屏幕,可以添加标注 说明:添加标注分三步 创建标注模型 重写地图的代理方法,返回标注的样式 将标注添加到地图 代码 标注模型 @interface MyAnnotation : NSObject <MKAnnotation addAnnotation:annotation]; } -(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation ,自定义标注的样式 代码:只需要更改上面的代理方法即可 -(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation

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

    IOS MapView 用法

    file #import <Foundation/Foundation.h> #import <MAPkit/Mapkit.h> @interface myAnnotation : NSObject <MKAnnotation

    61020编辑于 2022-07-05
  • 来自专栏一“技”之长

    iOS原生地图开发进阶——使用导航和附近兴趣点检索

    一、线路导航 1、从几个类的关系说起 (1)MKPlacemark 一个地点信息类,如下: @interface MKPlacemark : CLPlacemark <MKAnnotation> //初始化方法 return  renderer; } //标注的代理方法 -(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation

    1.3K40发布于 2018-08-16
  • 来自专栏ShaoYL

    strong,weak, retain, assign的区别@property的参数

    当一个类继承NSObject,那么这个类里面的属性需要使用copy,比如: #import <Foundation/Foundation.h> #import <MapKit/MKAnnotation.h > @interface Annotation : NSObject <MKAnnotation> { CLLocationCoordinate2D coordinate;

    2.1K100发布于 2018-05-11
  • 来自专栏移动端开发

    解析SwiftUI布局细节(三)地图的基本操作

    } } 最后我们梳理一下关于大头针的几个类,我们在项目中使用的是 MKPointAnnotation MKPointAnnotation 继承与 MKShape 遵守了 MKAnnotation 协议 , MKAnnotation 就是底层的协议了,像它里面的title,image这些属性我们就不提了,大家可以点进去看看源码。 它具体的方法可以点进这个协议去看,里面有个方法是 - (nullable MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation >)annotation; 它返回的是一个 MKAnnotationView ,这个方法也为每个 大头针 MKAnnotation 提供了一个自定义的View,也就是我们自定义大头针的位置。

    2.7K10发布于 2021-01-07
  • 来自专栏青玉伏案

    iOS开发之地图与定位

    2.编写标注类,标注类必须实现MKAnnotation协议,MyAnnotation.h中的代码如下: ?     

    1.9K60发布于 2018-01-11
  • 来自专栏学海无涯

    iOS14开发-定位与地图

    创建模型 class MapFlag: NSObject, MKAnnotation { // 标题 let title: String? extension ViewController: MKMapViewDelegate { func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation extension ViewController: MKMapViewDelegate { func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation

    3.5K30发布于 2021-07-14
  • 来自专栏iOS开发~

    iOS_系统自带地图圆形区域选择范围

    ]; } #pragma mark - 返回大头针 - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation WWView *_shawView; CGFloat _preWidth; CGFloat scale; } - (instancetype)initWithAnnotation:(id<MKAnnotation

    2.8K10编辑于 2022-07-20
  • 来自专栏coding...

    Objective-C MapKit的使用-LBS简单的租车主界面demo效果分析代码demo地址

    } } 自定义大头针 当前位置使用标注 其他位置使用自定义的大头针视图 //当前位置大头针 - (MKPinAnnotationView*)customLocalAnnotationView:(id<MKAnnotation pinView.animatesDrop = YES; return pinView; } //自定义大头针 - (MKAnnotationView*)customMKAnnotationView:(id<MKAnnotation

    2.4K40发布于 2018-08-23
  • 来自专栏正则

    架构之路 (六) —— VIPER架构模式(二)

    import MapKit import Combine class TripMapViewPresenter: ObservableObject { @Published var pins: [MKAnnotation MapView.swift import SwiftUI import MapKit struct MapView: UIViewRepresentable { var pins: [MKAnnotation lineRenderer.lineWidth = 3 return lineRenderer } } } fileprivate class CoordinateWrapper: NSObject, MKAnnotation

    1.5K10发布于 2021-09-04
  • 来自专栏华仔的技术笔记

    iOS应用架构谈 view层的组织和调用方案 pragma mark - life cyclepragma mark - life cyclepragma mark - getters and set

    然后你有一个模块是地图模块,把经纬度数组全部都转变成MKAnnotation或其派生类对于Controller来说是弱业务,(记住,胖Model就是用来做弱业务的),因此我们用ViewModel直接把它转变成 MKAnnotation的NSArray,交给Controller之后Controller直接就可以用了。 APIManager fetchDataWithReformer:reformer] | | | MKAnnotationList | | | Controller 这么一来,原本复杂的MKAnnotation Reformer此时扮演的ViewModel角色能够很好地给Controller减负,同时,维护成本也大大降低,经过reformer产出的永远都是MKAnnotation,Controller可以直接拿来使用

    1.2K80发布于 2018-05-17
  • 来自专栏正则

    架构之路 (五) —— VIPER架构模式(一)

    import MapKit import Combine class TripMapViewPresenter: ObservableObject { @Published var pins: [MKAnnotation

    20.7K10发布于 2021-09-04
  • 来自专栏华仔的技术笔记

    iOS应用架构谈 网络层设计方案

    比如地图标点列表API的数据,通过reformer转化之后就可以直接变成MKAnnotation,然后MKMapView就可以直接使用了。

    1.3K90发布于 2018-05-08
领券