私はここでmap sdkを使用します。私は16500とのdbファイルを持っている!パス(点の座標)。私はマップ上のすべてのパスを描画する必要があります。しかし、私は、パスの大きな数を取得しようとすると、ここにマップ上のすべてのpoplilynesオブジェクトを追加しようとすると、それは膨大な時間がかかると思う。マップ全体にパスのレイヤーを追加します
ヘルプは、最適なソリューションを見つけることができます。
私はここでmap sdkを使用します。私は16500とのdbファイルを持っている!パス(点の座標)。私はマップ上のすべてのパスを描画する必要があります。しかし、私は、パスの大きな数を取得しようとすると、ここにマップ上のすべてのpoplilynesオブジェクトを追加しようとすると、それは膨大な時間がかかると思う。マップ全体にパスのレイヤーを追加します
ヘルプは、最適なソリューションを見つけることができます。
私は目に見えるビューポートに基づいてデータをフィルタリングし、大陸(または大陸レベル)にはあまり意味がないところでこの機能を無効にします。
地図がズームレベル16または17(地方レベル)に表示されている場合、getBoundingBox()を使用してMapインスタンスからGeoBoundingBoxとしてビューポートを取得できます(mapView.getMap()など)。 GeoBoundingBoxを使用すると、いくつかのcontains()メソッドが存在するため、自分のオブジェクトとの衝突を簡単にチェックできます。
ビューポートと衝突するものはすべて表示する必要があります。他のすべては無視されます。
あなたは()getMapGesture経由MapGestureを(取得)とaddOnGestureListener(経由でイベントをズームするために聞く)MapクラスにOnTransformListenerのリスニングのいずれかとするたびにマップビューポートの変更を更新したりMapGestureイベントを登録することができます
の場合フィルタリングするデータの量がまだ大きすぎる場合は、パーティション化(リージョンベースは私の最初のアイデアとなる)のような効率的なフィルタリングのためにデータを準備することも考えて、データのサブセットのみをフィルタリングする必要があります。
カスタムロケーション拡張(https://developer.here.com/platform-extensions/documentation/custom-location/topics/what-is.html)がこのケースで役立つようです。
要するに、カスタムデータをHEREバックエンドにアップロードして後で照会することができます。
ありがとう、これは最高の解決策です。私はこのプロセスを実装しようとします –