【发布时间】:2015-06-08 19:45:10
【问题描述】:
我创建了一个包含大约 200 个自定义注释的地图视图。我想在注释移动到可见的地图视图区域时重新绘制注释,并在它们离开时删除它们(滚动出地图视图。)这甚至可能吗?如果是这样,有人可以给我一个关于如何开始的线索吗?
【问题讨论】:
标签: ios annotations android-mapview
我创建了一个包含大约 200 个自定义注释的地图视图。我想在注释移动到可见的地图视图区域时重新绘制注释,并在它们离开时删除它们(滚动出地图视图。)这甚至可能吗?如果是这样,有人可以给我一个关于如何开始的线索吗?
【问题讨论】:
标签: ios annotations android-mapview
MKMapView 有一个名为 'visibleMapRect' 的属性,它返回一个 MKMapRect,然后您可以为添加到地图的每个注释使用 MKMapRectContainsPoint 或 MKMapRectContainsRect。
您可以使用以下方法查看 MKMapRect 是否包含点:
MKMapRectContainsPoint(mapPoint)
或者一个矩形:
MKMapRectContainsRect(mapAnnotationRect)
您可以使用以下方法从 CLLocationCoordinate2D 获取 MKMapPoint:
CLLocationCoordinate2D mapCoordinate = ...;
MKMapPoint mapPoint = MKMapPointForCoordinate(mapCoordinate);
【讨论】: