【问题标题】:Only display annotations within visible mapview area仅在可见的地图视图区域内显示注释
【发布时间】:2015-06-08 19:45:10
【问题描述】:

我创建了一个包含大约 200 个自定义注释的地图视图。我想在注释移动到可见的地图视图区域时重新绘制注释,并在它们离开时删除它们(滚动出地图视图。)这甚至可能吗?如果是这样,有人可以给我一个关于如何开始的线索吗?

【问题讨论】:

    标签: ios annotations android-mapview


    【解决方案1】:

    MKMapView 有一个名为 'visibleMapRect' 的属性,它返回一个 MKMapRect,然后您可以为添加到地图的每个注释使用 MKMapRectContainsPoint 或 MKMapRectContainsRect。

    您可以使用以下方法查看 MKMapRect 是否包含点:

    MKMapRectContainsPoint(mapPoint)
    

    或者一个矩形:

    MKMapRectContainsRect(mapAnnotationRect)
    

    您可以使用以下方法从 CLLocationCoordinate2D 获取 MKMapPoint:

    CLLocationCoordinate2D mapCoordinate = ...;
    MKMapPoint mapPoint = MKMapPointForCoordinate(mapCoordinate);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-09
      • 2016-02-09
      相关资源
      最近更新 更多