gpt4 book ai didi

ios - 基于 Objective C 中 map View 框架的坐标过滤数组

转载 作者:行者123 更新时间:2023-11-29 01:55:49 25 4
gpt4 key购买 nike

我有数百条 map 注释。注释来自字典数组,其中 lat 和 long val 在表格 View 中显示相同的数据。表格 View 和 map View 是基于屏幕高度/2 的相同 View 。例如,我需要的数组中有 100 个纬度和经度值 TableView , map View 显示 100 个数据。如果 map View ZoomIn 则表数据(我不知道如何过滤该数据)根据 map View 中显示的注释数量显示,与 ZoomOut 相同。

我想使用 map View 帧大小来获得它,然后将其转换为纬度和经度值,并根据我得到的纬度和经度值过滤数组。

如何通过 This answer 将 map View 框架转换为经纬度值

现在我不知道该怎么办。如何过滤具有经纬度值的数据。

有什么方法可以找到那个或者如何基于纬度和经度进行算术计算

最佳答案

你可以做的是:

A)直接获取注解:

MKMapRect visibleMapRect = mapView.visibleMapRect;
NSSet *visibleAnnotations = [mapView annotationsInMapRect:visibleMapRect];

B) 遍历数组并检查点是否在内部:

MKMapRect mapRect = mapView.visibleMapRect;
for (NSDictionary *item in array)
{
CLLocation *location = item[@"location"]; // Or what ever you store...
MKMapPoint mapPoint =
MKMapPointForCoordinate(location.coordinate);
BOOL inside = MKMapRectContainsPoint(mapRect, mapPoint);
}

关于ios - 基于 Objective C 中 map View 框架的坐标过滤数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30866752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com