在整个地图上添加一层路径

Add a layer of paths on whole map

我用的是here-map sdk。我有 16500 的数据库文件!路径(点的坐标)。当用户激活功能 "show additional paths" 时,我需要在地图上绘制所有路径。但我认为,如果我尝试获取大量路径并在此处地图上添加所有 poplilynes 对象,将花费大量时间。

帮助寻找最优解。

自定义附加地址信息 (https://developer.here.com/platform-extensions/documentation/custom-location/topics/what-is.html) 似乎可以帮助解决这个问题。
简而言之,它允许您将自定义数据上传到 HERE 后端并稍后查询。

我会根据可见视口过滤您的数据,并在没有多大意义的地方(大陆或全球级别)禁用此功能。

因此,假设您的应用在缩放级别 16 或 17(地区级别)上显示地图,您可以使用 getBoundingBox() 从地图实例(例如通过 mapView.getMap())检索作为 GeoBoundingBox 的视口. GeoBoundingBox 让您现在可以轻松检查与您自己的对象的碰撞,因为它有几个 "contains()" 方法。

所以所有与视口发生碰撞的东西都应该显示出来,其他的都被忽略。

只要地图视口发生变化,您就可以通过监听地图中的 OnTransformListener class 或注册 MapGesture 事件(通过 getMapGesture() 获取 MapGesture 并通过 addOnGestureListener() 监听缩放事件)进行更新

如果要过滤的数据量仍然太大,您还可以考虑准备数据以进行更有效的过滤,例如分区(基于区域将是我的第一个想法),因此只需要一部分数据被过滤。