OStack程序员社区-中国程序员成长平台

标题: ios - 谷歌地图 - 获取给定半径内的所有标记 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 19:34
标题: ios - 谷歌地图 - 获取给定半径内的所有标记

我正在开发一个 iOS 应用程序,我希望它显示给定半径内的所有标记。

我正在使用 GMSGeometryDistance 计算所有标记距离并返回我给定半径内的距离。

当前位置会频繁变化。这意味着每次更改位置时我都需要计算此值,这会影响应用性能。

是否有任何函数可以计算用户移动的每个给定距离?



Best Answer-推荐答案


<p>
I get all the markers with in the given radius by using below code.Please check it once.Hope it will help to you. </p>
<p>

<table>
<tr>
`CLLocationDistance dist = 800; // required radius in meters.
</tr>
<tr>
CLLocation *closestLocation;
</tr>
<tr>
// finalArr(NsMutableArray) stores coordinates fetching from database
</tr>
<tr>
for (CLLocation *location in finalArr) {
</tr>
<tr>
CLLocationDistance distance = [currentLoc  distanceFromLocation:location];
</tr>
<tr>
        if (distance < dist) {
</tr>
<tr>
closestLocation = location;
</tr>
<tr>
[closeLatArr addObject(closestLocation.coordinate.latitude)];
</tr>
<tr>
[closeLongArr addObject(closestLocation.coordinate.longitude)];
</tr>
<tr>
}
</tr>
<tr>
for (int i=0; i<[closeLatArr count]; i++) {

        GMSMarker *marker = [[GMSMarker alloc] init];
        marker.position = CLLocationCoordinate2DMake([[closeLatArr objectAtIndex:i] doubleValue], [[closeLongArr objectAtIndex:i] doubleValue]);

        //   marker.title = [locArr objectAtIndex:i];
        marker.map = mapView;
        //NSLog(@"closest loc are %@",locArr);

    }`
</tr>
</table>
</p>

关于ios - 谷歌地图 - 获取给定半径内的所有标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48132936/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4