【发布时间】:2018-10-11 08:39:45
【问题描述】:
我正在制作一个应用程序,它从 firebase 下载 LatLngs 并将它们显示为google maps API 中的标记,用户可以添加新的LatLngs。
在我的数据库中,我还有markers 的价格点和类型。在主屏幕中,用户可以选择他想在地图上看到的标记类型。
所以我的应用程序做了这样的事情:
locations.orderByChild(pricepoint).equalTo(choosenPricepoint);
然后我以编程方式检查类型是否与用户选择的匹配
int type = Integer.parseInt(locations.child("restaurantType").getValue().toString();
if(type == funCode|| type == runingCode|| type == sportsCode
{
mMap.addMarker(new MarkerOptions().position(snapshot.getLatlng);
}
它适用于 250 条记录,但我预计我的数据库中有超过 10,000 条记录,所以我担心它会太慢。
我不知道是否仅在用户的地图相机所在的位置显示标记并删除其他标记会更快。你有什么建议?
【问题讨论】:
-
您需要在特定区域或整个地图上显示标记吗?
-
现在我在整个地图上显示标记,但我认为如果用户必须选择他想看到这些标记的城市也可以。
-
因为现在看起来它真的会减慢应用程序的速度,对吗?我不知道,但一次显示 10,000 个标记似乎是个坏主意,因为我认为它可能会占用大量内存。
-
对,所以你可以在特定区域显示一些,当用户在地图上移动时,你可以下载更多位置。
标签: android google-maps firebase-realtime-database