問題タブ [osmdroid]

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.

0 投票する
1 に答える
2355 参照

android - OSMDroid と OpenStreetMapViewItemizedOverlay

私は自分のアプリケーション OSMDroid で使用しています。すべてがうまく機能しますが、すべてが明確であるとは限りません。

OpenStreetMapViewItemizedOverlay または (OpenStreetMapViewItemizedOverlayWithFocus) が使用されます。

ユーザーがこのオーバーレイからアイテムをクリックすると、アイテムのタイトルと説明を含む小さなポップアップが表示されます。

ユーザーがそのポップアップをクリックした場合にクリックリスナーを実装する方法を知っている人はいますか?

そのための方法が見つかりませんでした。提案やリンクに非常に感謝しています。

0 投票する
4 に答える
5560 参照

android - ユーザーがMapviewで行けるエリアを制限する

mapview のカスタマイズ バージョン (OSMDroid バージョン) を使用しています。その中でカスタム タイルを使用していますが、カスタム タイルがある領域のみをユーザーが表示できるようにしたいと考えています。境界の緯度経度を設定して、マップをパンするときにこれらの境界を超えないようにする方法はありますか?

0 投票する
1 に答える
3501 参照

android - osmdroid-android-3.0.3.jar のオーバーレイ

私は以前、osmdroid-android-3.0.1.jar を使用して OpenStreetMaps をアプリケーションに組み込むことができましたが、私の質問への回答の大きな助けになりました

Osmdroid への Google マップ アプリの移植 - オーバーレイの問題

3.0.3 jar を使用するようにアップグレードしましたが、オーバーレイを表示できません。

私のアプリは、Google マップから OSM に表示を切り替えて、どちらかの上に線とテキストで構成される同じオーバーレイを表示できます。クラスは似ていますが、完全に同一のメソッドを持っていないか、少なくとも 3.0.1 では持っていなかったので、別の方法では、今のところそれぞれの実行を独自のアクティビティで表示します。(最終的には、Osmdroid ラッパー jar を使用してそれらを 1 つのアクティビティに結合し、重複するコードを減らしたいと考えていますが、それは後日の質問です) 今のところ、現在と同じ機能を取得したいと考えています。新しい 3.0.3 バージョンを使用して 3.0.1 jar を非推奨にしました。

新しいjarを使用しても、マップビューは問題なく表示されますが、オーバーレイは消えています。MapOverlay extends org.osmdroid.views.overlay.Overlayクラスで 3.0.1 の onDraw() メソッドが (Google のように) draw() に置き換えられたため、コードにいくつかの変更を加える必要がありました。

以前の onDraw() (現在は描画) メソッドのすべてのコードは、上記の質問への回答からそのままコピーされています。ワールドサイズ、バウンディング ボックス、および説明されている変換の概念を完全には理解していないことを告白しますが、問題なく動作しました。 .

その方法に気がついた

は非推奨になり、tileZoom を削除する必要がありました。

コンパイルできるようにします。

draw() メソッドのコードに到達すると、オーバーレイを描画するために必要なすべてのデータがまだ存在し、正しいことをデバッガーで確認できます。描画は canvas.drawLine(....) や canvas.drawText(....) などの線で行われます。関数 (ブール値の影) に余分なパラメーターをまったく使用していません。

私の redrawOverlay() メソッドは次のようになります。

(Google listofOverlays.clear() は、osmdroid 3.0.1 がマップ自体として要素 0 を持っていたため、使用しないでください - したがって、remove(1))

既存の 3.0.1 コードを 3.0.3 で動作するように変更するにはどうすればよいのでしょうか? の作者の 1 人がこの質問を読んでくれることを願っています。

アップデート

上記の質問への回答で提案されているように、ミニマップを全体的に適応させることにより、オーバーレイを左上から右下に描画する draw() メソッドは次のようになります。

これは正常に動作します

0 投票する
1 に答える
3404 参照

android - OpenSourceMaps を表示するための OSMdroid ライブラリのセットアップのヘルプ

おい。OpenSourceMap を表示するための OSMdroid ライブラリの設定に問題があります。ユーザーが現在の場所の地図をボタンで表示して、ユーザーが通常の Google マップ ビュー、地形 Google マップ ビュー、openstreetmaps ビューを切り替えることができるようにするアクティビティに取り組んでいます。現在、JAR ファイルを使用しており、それをプロジェクトのビルド パスに追加しています。うまくコンパイルできますが、ライブラリの使い方がわかりません。オンラインのチュートリアル/指示はほとんどありません。レイアウトで IMapView タグを作成し、Google マップ ビューのように使用する必要がありますか? 通常の Google マップ ビューからレイアウト タイルを切り替えるにはどうすればよいですか?

誰かがこのライブラリがどのように機能するかについて非常に短いウォークスルーを教えてくれれば、それは大歓迎です。私は何年も Java でコーディングしてきたので、何をする必要があるかについての英語の説明が必要です。

前もって感謝します。

0 投票する
2 に答える
1402 参照

android - Osmdroid Overlays クラッシュ アプリケーション (Android)

initMyLocation を呼び出すたびに、アプリがクラッシュします (エミュレーターとデバイスのボット)。MiniMap を実装しようとすると、同じことが起こります。Osmdroid リポジトリの SampleExtensive の例とまったく同じことを行います。私は何を間違っていますか?

私の AndroidManifest.xml は、必要なすべての権限を与えていると思います

0 投票する
3 に答える
29779 参照

android - OSMDROIDへのオーバーレイの追加

私はこの長い間苦労してきました。マップにオーバーレイを追加しようとしています。私はオープンソースのOSMdroidを使用しています。しかし、この例で得られるのは、あるコーナーから別のコーナーへの真っ赤な線だけです。私の目標は、geoPointが設定されている場所にアイコンを追加することです。

これが私のコードです:

それが私のマニフェストです:

前もって感謝します、

レイ。

0 投票する
1 に答える
9318 参照

android - 場所の変更時にOverlayItemが更新されない(OSM)

OSMdroidを使用しています。

この投稿のおかげで、OSMDROIDにオーバーレイを追加して、特定の場所に静的アイテムをオーバーレイすることができました。

今、私はマップをもう少し動的にしようとしています。そのため、場所が変更されると、OverLayItem(マップ上の特定の場所をマークする)も自動的に更新されます。

これが私がやろうとしたことです。マップは更新されますが、OverLayItemは更新されません。

コード:

ありがとう、

レイ。

0 投票する
2 に答える
5199 参照

android - AndroidOSMドロイド-最大ズームレベルを設定

osmdroidmapViewの使用法でアプリを実装しています。最大16のズームレベルのマップがありますが、Androidでは18のズームレベルを使用できます。デフォルトの18ではなく最大ズームレベル16を設定する方法を知っていますか?

ありがとう

Hmyzak

0 投票する
1 に答える
1544 参照

android - onTouchEventにも応答するビュー内でのonTouchEventの処理(OSMdroid 3.0.2で機能するために使用)

現在osmdroidjar3.0.1を使用しており、「ドラッグ可能なスペース」(画面間をスワイプできるビュー)内にMapViewがあります。下部にユーザーがスペース間をスワイプできるバーがあり、タッチイベントがその領域の外で発生した場合は、mapView.onTouchEvent(event)を呼び出します。

これは3.0.1でうまく機能していましたが、osmdroid 3.0.4で試しましたが、垂直方向の動きでしか機能しないようです(タッチスロップ設定に関連していると思われます)。

これが私のドラッグ可能なスペースビューからのコードです。

これは厄介ですが(ビューにはマップのインスタンスを渡す必要があります)、バージョン3.0.1および3.0.2では正常に機能しました。ただし、3.0.3以降は機能しなくなりました。

タッチイベントをosmdroidマップに渡すためのより良い方法はありますか?

この問題を説明するデモプロジェクトがあります。完全なEclipseプロジェクトはgithubにあります。

3.0.1または3.0.2jarを使用するようにビルドパスを変更すると、マップはより大きなスペース内で正しくスクロールしますが、3.0.3または3.0.4に変更すると、横方向の動きは無視されます。

任意のガイダンスをいただければ幸いです。

PS、これはOSMdroidリストからのクロスポストです。ここにもう少し読者がいることを願っています。

0 投票する
0 に答える
926 参照

android - osmdroid レイアウト インフレータ例外

アプリケーションでGoogleマップをosmdroidに置き換えようとしているので、他の小さなコード変更の中で、置き換えたmain.xmlを変更しました:

と:

今、私は実行時例外を受け取ります:

誰が私が間違っているのか教えてもらえますか?