3

少し前に .osm ファイルとスタイル ファイル (osmarender.xml) を編集し、それを Android プロジェクトに含めました (osmosis と Mapsforge ライブラリを使用)。うまく機能し、見栄えがします。OpenLayers (またはリーフレット?) を使用して、これらのファイルを Web プロジェクトで再利用したいと考えています。

この例 ( https://wiki.openstreetmap.org/wiki/OpenLayers_osm_file_example ) を使用して、(非常にローカルですが、それでも 23 MB の) マップを表示できましたが、すべて黄色でした (もちろん、スタイルは適用されていません)。 OSM ベースマップの上にレンダリングされました。

次のことを行いたい: 1. マップのみを表示する (他のベース マップは不要または必要ない)。2. 高速に表示します (ただし、パンとズームは可能です)。3. スタイル (osmarender.xml で定義) を使用して表示します。4. 可能な範囲でのみ表示します (バウンディング ボックスの境界付近でパンを停止します)。

これを OpenLayers (およびおそらく浸透またはレンダリング ツール) で行うことはできますか? もしそうなら、どのように(ちょうど約)?

4

3 に答える 3

0

Aarg ... Mapsforge Tile Server は良いヒントですが、今日わかったように、答えははるかに簡単です。

Mapsforge ライブラリに基づいた動作中の Android マップ アプリケーションがある場合、このアプリケーションでタイルを生成し、モバイル デバイスに保存できます。そこから、それらをコピーして、たとえば OpenLayers を使用する Web プロジェクトで再利用できます。

私の場合、Android コード (Mapsforge 0.5.2 を使用) は次のとおりです。

TileCache tileCache = AndroidUtil.createTileCache(activity, "mapcache",
            mapView.getModel().displayModel.getTileSize(), this.getScreenRatio(),
            mapView.getModel().frameBufferModel.getOverdrawFactor());

「mapcache」ディレクトリにタイルを書き込みます。

何はともあれ、お二方には大変お世話になりました!

于 2015-10-31T14:34:31.973 に答える
0

MOBAC (2.0 Alpha 4)Mapsforge Tile Serverは、mapsforge スタイルとマップ ファイルに基づいてラスター タイルをレンダリングできます。タイル/サーバーは、Leaflet や OpenLayers などの他のアプリケーションで使用できます。

これらがどれほど安定して成熟しているかはわかりませんが、MOBAC はまだアルファ版であり、MTS にはクリップされたラベルと Windows サポートがないという問題がありました。

mapsforge OSM Wikiページも参照してください。

于 2015-10-30T21:37:24.620 に答える