問題タブ [itemizedoverlay]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - ItemizedOverlay が「壊れた」プロジェクションで描画されているようです
攻撃方法がよくわからないという奇妙な問題があるので、誰かが以前に同様の問題を抱えていたのではないかと思っています。
ItemizedOverlay サブクラスの draw(Canvas canvas, MapView mapView, boolean shadow) メソッドをオーバーライドして、アイテム間にパスやテキストなどを描画します。オーバーライドで最初に行うことは、これらすべてのパラメーターを指定して super.draw を呼び出すことです。アプリを起動すると、オーバーライドで描画した線は本来あるべき場所にありますが、super.draw が描画する実際の OverlayItems はかなりずれています。興味深いことに、マップを左上隅 (座標 0,0) に向かって移動すると、OverlayItems が予想される場所にどんどん近づいていきます (実際、最初のものを取得すると、完全に一致するように見えます)。アイテムからポイント (0,0))。OverlayItems が (0,0) ポイントから遠ざかるようにマップを移動すると、位置情報から直線的に遠ざかります。
これまでに誰もこの問題に直面したことがなく、それが明らかでない場合のために、この動作がまだ残っている最小限の例を作成して、ここに投稿します。実際のコードは比較的大きいので、何が問題なのか誰かがわかっている場合は、それほど多くの作業を避けたいと思います。
編集:役立つかもしれない追加情報...私の描画方法は次のようになります:
オーバーレイのカスタム部分にはシャドウ レイヤーがありません (オーバーレイを問題なく拡張するときに同じロジックを使用しました)。Super.draw によって OverlayItems に対して描画されるシャドウ レイヤーは、実際には、Drawable と特定の各アイテムの予想される位置情報の中間にあります。
何が起こっているかをよりよく説明するために、avd のツリーのスクリーンショットを次に示します。4 つの赤いピンは、その上の赤い線上にある必要があり、マップを左上にスライドすると、実際には線に向かって移動します。2 つのピンとそれらの間の線はカスタム オーバーライドで描画され、super.draw は 4 つの影と 4 つの追加の赤いピンを描画します。
これは私の最初の投稿であり、複数のリンクを投稿することはできないため、3 つのスクリーンショットすべてを同じ jpg に入れました。
スクリーンショット
android - すべてのオーバーレイを削除します
オーバーレイを追加するための次のコードがあります
また、sitesがグローバル変数である次の削除コードもあります。
重複が残ることがあるので、マップからすべてのオーバーレイを削除する方法が必要ですが、これは可能ですか?
android - Android マッピング オーバーレイの質問
私は Android マッピング アプリケーションを開発しており、Google の ItemizedOverlay チュートリアルを自分のコードに組み込むことができました。地図上に小さな円をうまくプロットしています。
しかし、私は自分の小さなシンボルにそのタイトルを付けたいと思っています - いつも。マップにいくつかの異なるシンボルをドロップする予定であり、それらのラベルを表示できると非常に役立ちます。onTap メソッドが機能するようになりましたが、画面をタップすると、ディスプレイ全体が引き継がれます。これはあまり役に立ちません。
私はインターネット上でこれについて何かを見つけることができなかったので、楽観的ではありませんが、誰かが何らかの提案を持っていれば、それは大歓迎です.
android - ItemizedOverlayのヒット検出を増やします
itemizedOverlayを拡張しましたが、可能であればOverLayItemのヒット検出を増やしたいですか?
android - Android ItemizedOverlay 描画メソッドの質問
Android Itemized Overlay リストのメンバーと draw() が呼び出されたときの関係を知っている人はいますか? 具体的には、draw が各オーバーレイに対して 1 回呼び出されるのか、それともセット全体に対して 1 回だけ呼び出されるのかを調べようとしています。
ありがとう、R.
android - Android MapView でのアイコンの移動
Google MapView でアイテムの移動位置を表示するアプリケーションに取り組んでいます。アイテムを表すアイコンの位置を更新する方法が必要です (更新されたデータが入ってくると、アイコンの向きを 2 秒ごとに変更するだけでなく)。
現在、アプリに MapActivity を拡張するアクティビティがあります。これに、マップ上に線を描画する静的オーバーレイと、静的アイコンを描画する ItemizedOverlay をオーバーレイしました。
アニメーション化されたオーバーレイで使用されると主張する draw() メソッドがありますが、それをオーバーライドしてアニメーションを実行しても、何もアニメーション化されません。
オーバーレイをアニメーション化するようにアプリに指示する必要がありますか、それとも別の種類のオーバーレイを使用する必要がありますか?
android - SimpleOnGestureListenerをアクティビティに実装する方法
これは主に設計上の質問です。onLongPressイベントとonDownおよびonTapイベントをキャッチしたかったので、ItemizedOverlayにSimpleOnGestureListenerを実装しました。すべて正常に機能していますが、特定のonLongPressイベントで新しいアクティビティに移行する必要があります。この特定のケースでは、アラートダイアログは私のニーズには不十分です。問題は、オーバーレイからアクティビティに移行し、オーバーレイに戻ることです。通常、あるアクティビティから別のアクティビティへ、そしておそらくまた戻ってきます。さらに、オーバーレイクラスのコードは非常に長くなっているため(約450行)、リファクタリングともう少しSRPが必要です。SimpleOnGestureListenerを、それを参照するアクティビティ内からも、MapView内からも、オーバーレイにアタッチする方法がわかりません。私が見たほとんどの例は、「トーストを作る」の例です。
android - Androidで2つ以上のレイアウトを表示するには?
こんにちは、既存のレイアウトに 1 つ以上のレイアウトを追加する必要があるプロジェクトを取得しました。問題は、最後のレイアウトしか表示されないことです。私はオーバーレイのベクトルを使用していますが、それはこの問題を解決する方法ではないと確信しています。誰かがこの問題を解決する方法の手がかりを教えてくれたらうれしいですありがとう
android - タイマーとマップAndroid
ItemizedOverlayを地図に表示するのに問題があります。ここでは、私が行う必要があることの簡単な例を抽出しました。これが私のMapクラスです:
私はGoogleが提供するガイドに従ってItemizedOverlayクラスを拡張しました
コードから明らかなように、マップUIを一定の時間に更新する必要があります。そのためには、タイマーを使用していますが、方法がわからない、ある種のスレッドの問題に陥る可能性があると思います。テストを実行すると、ログで何が起こるかを確認できますが、マップ上にマーカーが描画されないため、ハンドルします。誰かがこの種の問題を解決する方法を知っていますか?
java - マップ上にさまざまなマーカーを表示するにはどうすればよいですか?
地図上にマーカーを表示しています。マーカーごとに異なる描画可能リソースを指定する方法がわかりませんか?
場所の距離が50未満の場合など、緑色のピンを表示したいと思います。