gpt4 book ai didi

android - 如何在 Android 中获取 Google Maps v2 中的可见标记?

转载 作者:太空狗 更新时间:2023-10-29 15:36:29 25 4
gpt4 key购买 nike

在 Android 版 Google map v2 中,如何获取可见标记?我知道我可以使用投影并消除点 < 0 和点 > 屏幕尺寸。但我不想一一检查,如果我有很多标记,它可能会太慢。有什么简单的方法吗?或者一些现成的解决方案?如果有,是哪一个?

最佳答案

好的,以下是我之前使用的代码,用于确定用户可以看到什么,然后只绘制可见的标记。我认为您可以根据自己的目的对其进行调整。

获取 map 的当前矩形“视口(viewport)”(注意:必须在主线程上运行)

    this.mLatLngBounds = this.mMap.getProjection().getVisibleRegion().latLngBounds;

对 2 个点(左上角和右下角)进行排序,以便我们可以使用最小/最大逻辑

double lowLat;
double lowLng;
double highLat;
double highLng;

if (this.mLatLngBounds.northeast.latitude < this.mLatLngBounds.southwest.latitude)
{
lowLat = this.mLatLngBounds.northeast.latitude;
highLat = this.mLatLngBounds.southwest.latitude;
}
else
{
highLat = this.mLatLngBounds.northeast.latitude;
lowLat = this.mLatLngBounds.southwest.latitude;
}
if (this.mLatLngBounds.northeast.longitude < this.mLatLngBounds.southwest.longitude)
{
lowLng = this.mLatLngBounds.northeast.longitude;
highLng = this.mLatLngBounds.southwest.longitude;
}
else
{
highLng = this.mLatLngBounds.northeast.longitude;
lowLng = this.mLatLngBounds.southwest.longitude;
}

然后在我的例子中,我将这些数据保存在数据库中,因此我可以使用 >= 和 <= 来仅提取我想要的引脚

关于android - 如何在 Android 中获取 Google Maps v2 中的可见标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17735812/

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