首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速适配注解

快速适配注解
EN

Stack Overflow用户
提问于 2015-03-28 13:05:37
回答 1查看 730关注 0票数 0

我在解析中有几个位置是我正在查询的。它显示所有注释,但只放大最后一个注释。我怎样才能找到最大和最低纬度和经度,并使它们适合?

堆叠溢出中有很多这样的内容,但它们几乎都在目标c中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-28 14:43:48

Objective中的示例基本上仍然有效,因为底层的SDK/API仍然是一样的--只需要使用不同的语言来调用(而且总是有文档)。

要显示所有注释,本质上有两种方法:

  1. 使用方便的showAnnotations方法。将注释数组传递给它,它将自动计算要显示的合理区域。在添加所有注释后(在for循环之后)调用它。事实上,如果注释还没有在地图上,showAnnotations甚至会添加注释本身。要显示已经在地图上的所有注释,只需传递映射自己的annotations数组即可。示例: self.mapView.showAnnotations(self.mapView.annotations,动画:真)
  2. 如果您对showAnnotations计算的默认区域不满意,您可以自己计算。与计算最小/最大纬度和经度等不同的是,我更喜欢使用内置的MKMapRectUnion函数来创建一个适合所有注释的MKMapRect,然后调用setVisibleMapRect(mapRect,edgePadding,animated),这样就可以方便地在贴图区域周围的屏幕点中定义填充内容。这项技术最初是在苹果的一个非常早期的地图视图示例应用程序中发现的。示例: allAnnMapRect = MKMapRectNull用于对象中的对象!{//创建注释的现有代码.//调用addAnnotation的现有代码..。设thisAnnMapPoint =thisAnnMapPoint thisAnnMapRect =MKMapRectMake( space AnnMapPoint.x,space AnnMapPoint.y,1,1) allAnnMapRect = MKMapRectUnion(allAnnMapRect,thisAnnMapRect) } //Set inset (在所有注释周围空白)//这些数字在屏幕CGPoints中..。设edgeInset = UIEdgeInsetsMake(20,20,20,20) self.mapView.setVisibleMapRect(allAnnMapRect,edgePadding: edgeInset,动画: true)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29317517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档