我在解析中有几个位置是我正在查询的。它显示所有注释,但只放大最后一个注释。我怎样才能找到最大和最低纬度和经度,并使它们适合?
堆叠溢出中有很多这样的内容,但它们几乎都在目标c中。

发布于 2015-03-28 14:43:48
Objective中的示例基本上仍然有效,因为底层的SDK/API仍然是一样的--只需要使用不同的语言来调用(而且总是有文档)。
要显示所有注释,本质上有两种方法:
showAnnotations方法。将注释数组传递给它,它将自动计算要显示的合理区域。在添加所有注释后(在for循环之后)调用它。事实上,如果注释还没有在地图上,showAnnotations甚至会添加注释本身。要显示已经在地图上的所有注释,只需传递映射自己的annotations数组即可。示例:
self.mapView.showAnnotations(self.mapView.annotations,动画:真)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)https://stackoverflow.com/questions/29317517
复制相似问题