21

サーバーから事前にレンダリングされたタイルを使用する代わりに、OpenStreetMap データを使用して、iOS で 2D トップ ビュー ベクターベースのマップをレンダリングできるようにするソリューションを検討しています。iOS6+ の Apple や Google Maps に似ています。

私はこの件について大規模な調査を行いましたが、あまり多くの情報は見つかりませんでした。
これを行う iOS アプリは多数ありますが、その実装方法に関する情報はありません。これらのアプリのいくつかは次のとおりです。

最初の 2 つのアプリは、Apple および Google マップと同様に機能します。地図は、ズームが変わるたびにリアルタイムで描画されます。
最後のものは、わずかに異なるアプローチを使用しているようです。特定のズーム レベルでベクター データをレンダリングし、タイル サーバーからダウンロードされた通常のタイルとして使用されるタイルを作成します。そのため、レンダリング エンジンは実際には Route-Me ライブラリのタイル ソースになる可能性がありますが、タイルをダウンロードする代わりに、オンザフライでレンダリングします。

最初の方法をお勧めします。

[Q] OpenGL ES レンダラーが整ったら、かなり簡単に方法を切り替えることができると思います。レンダラーを Route-Me のソースとして使用してタイルを作成したり、ゲームのようにリアルタイムのドロワーとして使用したりできます。私は正しいですか?

私が見つけた最も近い解決策はOpenStreetPadです。ただし、OpenGL ES の代わりに Core Graphics を使用しているため、レンダリングはハードウェア アクセラレーションされません。

Mapbox は、ベクター タイルに取り組んでおり、おそらくレンダリング用の iOS ソリューションを提供すると述べていますが、Mapnik を使用する可能性があるため、それがどれほど効率的かはわかりません。また、2013 年半ば以降、ETA はありません。

[Q] 他のライブラリ、論文、ガイド、例、またはこれにアプローチする方法に関するその他の有用な情報を知っていますか? 基本的にOSMデータの扱い方と、実際にOpenGL ES/GLKitを使ってそのデータをデバイス上に描画する方法。たぶん、それをやった人の何人かは、いくつかのことを共有できますか?

4

3 に答える 3

5

古い質問ですが、新しい答えがあります。WhirlyGlobe-Maply は、iOS 上でタイル ベースのベクター マップをレンダリングします。 http://mousebirdconsulting.blogspot.com/2014/03/vector-maps-introduction.html

于 2014-03-23T20:56:26.600 に答える
2

skobbler の ForeverMap 2 と現在の GPS Nav & Maps アプリの原動力となった技術が、従量制で利用できるようになりました。彼らの開発者プラットフォームを参照してください。 注:小さなアプリの開発/起動に使用できる無料利用枠もあります。

OpenGL と「ベクター データ タイル」を使用してマップをレンダリングします。このベクター データ タイルには、道路の形状に関する情報 (経路指定が可能)、POI データ、その他の地図機能が含まれています。(例: 境界制限)。

于 2014-08-22T14:22:57.197 に答える