クライアント側のインタラクティブな2D世界地図が必要:最高の地図パッケージ?または、最高のC ++グラフィックス/キャンバスライブラリを作成するには?
-
11-07-2019 - |
質問
アイコン、テキスト、動き回る線を描く世界の2D政治地図が必要です。ユーザーはマップを操作してアイコンを配置および移動し、マップをズームインおよびズームアウトします。
Googleマップのインターフェースは、私が必要とするものからそれほど遠くありませんが、これはWeb関連ではありません。これはWindows MFCアプリケーションであり、Webインターフェイスではなく、アプリケーション内に存在するマップのC ++ APIと話したいです。理想的には、別のサーバーも必要とせず、サーバーはローカルで(インターネット上ではなく)実行する必要があります。これを行うには、どのようなマップマップパッケージまたはグラフィックライブラリを使用する必要がありますか?グラフィックプログラミングの経験がありません。
これは厳密に2Dであるため、Google EarthやWorldWindのようなものは適切ではないと思います。優れたベクターグラフィックスのサポートは素晴らしいものであり、ビットマップの簡単な描画が重要です。
すべての缶詰オプションは、Web指向です。 SDLは、柔軟なキャンバスプログラミングについて私が知っているすべてのことですが、自分でマップを作成することは、おそらく一般的な問題である多くの作業のように思えます。より高いレベルはありますか?たぶんAdobe Flashオブジェクトとやり取りする方法はありますか?私はかなり無知です。
解決
おそらく: http://www.codeplex.com/SharpMap
ESRI MapObjects http://www.esri.com/software/mapobjects/index.html ESRI MapObjects LT http://www.esri.com/software/mapobjectslt/index.html
参照 http://www.esri.com/software/mapobjectslt/about/mo_vs_lt。 html 2つのMapObjects機能セットの比較用。
ESRIはMapObjectsライブラリの代わりになる可能性があります
他のヒント
用語GIS(地理情報システム)を使用して、検索を拡張できます。きっと簡単になると思います。そのテーマにはたくさんのものがあります。
ここに私が見つけたページがあります: http://www.ucancode.net/Gis -Source-Code.htm
Mapnik C ++ / Python GIS Toolkit を試してください。
KDEのマーブルの一部であるマーブルウィジェットを見ることができます。プロジェクト。これにはWindowsバイナリもありますが、Qtに依存している可能性があります。
はい、Marbleには、単一のコントロール(Qtの技術用語では「ウィジェット」と呼ばれる)で既製のソリューションを提供するという利点もあります。
Qtへの依存関係(唯一の依存関係です)も利点と見なされる可能性があります。Qtの今後のバージョンはLGPLの下でライセンスされるため、プロプライエタリアプリケーションでこれを使用する場合でも、本当の心配があります。そしてもちろん、QtとMarbleはクロスプラットフォームであり、非常に直感的で理解しやすいAPIを提供します。一般的なGISソリューションとは異なり、Marble APIとウィジェットの使用は、GISについてあまり知らない人々に焦点を合わせています。そのため、GISで使用される専門用語に怖がっていても、その使用法は非常に簡単に理解できます。
Marbleはプログラミングへのいくつかのインターフェースを提供します:
独自のMarbleプラグインを作成してその内部にペイントするか、MarbleWidgetコントロールをサブクラス化できます。単純なHelloWorldアプリケーションについては、次を参照してください。