さまざまなJavaScriptマッピングライブラリを比較しますか?


138

私はWebベースのマッピングシステムに取り組んでおり、使用するライブラリを見つけようとしています。

利用可能なライブラリの比較へのリンクは次のとおりです。

ここに画像の説明を入力してください

これまでのライブラリのリスト:

  • グーグルマップ
  • Microsoft Virtual Earth
  • MapQuest
  • リーフレット -「より小さく、より速く、より新しく、より簡単なコメントは、より少ない機能とより少ないテストとして読むこともできます。」-Geographika(以下を参照)
  • ArcGIS API for JavaScript -ArcGIS Serverで最適に動作します(以下を参照)。GoogleマップBingマップの拡張機能も利用でき、Google / BingマップでESRI APIを使用できます(ただし、これはほとんどのライブラリに当てはまります)。
  • Yahoo Map APIの
  • ミシュラン経由
  • OpenLayers-豊富なドキュメントと豊富な機能に加えて、さまざまなマッププロバイダーを使用する機能。
  • Mapquery -MapQueryがリリースされ、いくつかの有用なドキュメントが追加されました。OpenLayers とjQueryを組み合わせるという非常に価値のある目標があります。OpenLayers + jQueryのアイデアに特に熱心な場合、またはJavaScriptマッピングライブラリに貢献したい場合は、参加して努力を貢献してください。ただし、単にエンドユーザーになりたい場合、またはこの分野に慣れていない場合は、あなたには向かないかもしれません。
  • Mapstraction-特に複数のベースマッププロバイダーでの作業を非常に簡単にします。しかし、それはまだ進行中の作業であり、ドキュメントのように機能が場所に欠けています。(たとえば、「FeatureCollection」タイプのGeoJSONオブジェクトは、フィーチャコレクションオブジェクトです。)あまり有益ではないようです。 1月から。
  • deCarta-モバイルおよびデスクトップjavascriptがあります-最初はHTML5 / CSS3に準拠し、2番目はより多くのブラウザー互換性があります。ソースコードが提供されました。商用APIの開発者にとって最も使いやすい用語。マップのブランド化が許可されており、いくつかの異なるマップスタイルがあります。NAVTEQまたはOSMデータを選択できます。また、いくつかのモバイルAPIもあります。-TheSteve0による編集-deCartaの従業員
  • クラウドメイド
  • ポリマップ -さまざまなソースからのラスターデータとベクターデータを非常に簡単に合成できます。独自のカラーリング、グループ化、インタラクションを簡単に追加できます。迅速に実行され、バックグラウンドタイルの読み込みを適切に管理し、わずか30kのJavascriptです。潜在的なマイナス面の1つは、MSIE 7または8で動作しないSVGを使用することです。他のすべてのブラウザで動作し、IE9で動作するはずです。
  • ジャンプ -ジャンプは、独自に機能する軽量のマップライブラリです。つまり、OpenLayersまたはGoogleMaps APIのラッパーではありません。現在、開発中ですが、多くの重要な機能がうまく機能しています。
  • ModestMaps -MapboxおよびTileMillのメーカーが提供する、より小さく、高速で、新しいJSマッピングライブラリ。
  • マピエーター

OpenLayersは私が現在使用しているものです。それで多くのことができ、ほとんどのデータ型をサポートします。ただし、すべてに最適というわけではありません。たとえば、リーフレットは、画像のフェードおよびその他の視覚的な調整により、多くの点でよりスムーズに見えます。jQueryに興味がある場合は、jQueryとOpenLayersの組み合わせのようなMapQueryをチェックしてみてください。

回答:


93

この質問はコミュニティWikiおよびwikiロックに変換されました。これは、回答のリストを求める質問の一例であり、閉鎖から保護するのに十分人気があるように見えるためです。これは特別なケースとして扱われるべきであり、これや他のStack Exchangeサイトで推奨されている質問の種類と見なすべきではありませんが、より多くのコンテンツを投稿したい場合は、この回答を編集して自由に投稿してください。


単一機能のマッピングアプリを作成する非GISバックグラウンド開発者の場合、おそらくリーフレット(現在MapBoxでサポートされています)をお勧めします。使いやすくて小さい。より多くの機能は、さまざまな品質とサポートのプラグインに依存しています。

GISオンラインタイプアプリケーション-OpenLayers3を使用-単一のライブラリにデータソース、コントロールなどの完全なスイートがあります。また、単純なマッピングアプリにも使用できるため、ミックスがあれば、すべてにこれを使用します。

Googleにはまだライブラリ/データの組み合わせがあります(たとえば、StreetViewは他では利用できません)。

EsriにはGUI Webアプリビルダーがありますが、以下で説明するように、既にスタックを使用している場合に複雑になるのはなぜですか。

商用API(Google、Bing、Yahoo)

商用APIを使用すると、プロバイダーがAPIまたは利用規約に変更を加えたとしても、あなたは容赦なくなります。たとえば、Googleマップを使用している地方自治体のポータルに突然広告が突然表示された場合、どうなりますか?JavaScript Google Mapsコードをイントラネットサイトで再利用したいですか?10,000ドルのライセンス料を支払う必要があります。

多くの場合、Microsoftはサービスに対してより明確で固定された条件(有料の場合)を持っているため、ここではリスクが少なくなる可能性があります。

最近のTwitterへの反発は、開発者がAPIを変更した良い例です。あなたがサービスにお金を払っていないなら、あなた(またはあなたのシステム)は販売されているものです。

Google 2011年10月から地図の使用に対する課金開始しました。

エスリ

Esriスタックを使用している場合、他の人が述べたように、ArcGIS API for JavaScriptは間違いなくその上でうまく機能します。GISの背景から来たEsriは、おそらく「新地理学」のWebジャイアントよりも、従来のGISタスクと機能について考えてきました(これは単なる意見/感情ですが)。

OpenLayersにはArcGIS RESTレイヤーのサポート組み込まれています。ESRIベースではないWebサイトでコードを再利用する場合は、オープンAPIが最適です。

OpenLayersを使用...

開発者がOpenLayers以外のAPIを使用する理由を本当に考えることはできません。オープンソースプロジェクトは関連するオープンソースプロジェクトにつながるため、GeoExtライブラリMapQueryGeoPrismaなどの再利用可能なコンポーネントが豊富にあります

プロジェクトがオープンソースであるという理由だけで追加しますが、商用同等物よりも自動的に改善されるわけではありません。ビルドスクリプトなどは、その上に新しい機能を簡単に構築できることを意味します。

いくつかありました最近の批判複雑さ、スタイリング、そしてサイズに主に関連し、OpenLayersをします。OpenLayersの主な開発者の1人であるChristopher Schmidtによって、ここここで反論がありました。

シンプルなオープンソースマッピングAPIが必要な場合は、CloudmadeのLeafletをご覧ください。

より小さく、より速く、より新しく、より簡単なコメントは、より少ない機能とより少ないテストとして読むことができます。

LeafletおよびOpenLayersの APIドキュメントをスキャンします。後者には、WFSレイヤー、編集ツール、SLDサポートなどのアイテムが含まれます。また、多くの異なる環境でテストされており、IE6で動作します(政府および地方自治体のユーザーを許可します)。

空間データをより簡単に表示するには、Leafletが理想的であり、簡単に開始できます。ただし、機能が豊富なGISアプリケーションについては、OpenLayersに固執します。

注意事項

考えられるマイナス面の1つは、多くの場合、商業プロバイダーのシステムで最初に新しいイノベーションが見られることです。

最後に、他のAPIがより適している特定のシナリオがあることを確信しています-カスタムハードウェア上、組織の他のITシステムに適合するため、または既にAPIを完全に知っていて、半分の時間でシステムを開発できる場合。

あなたが言及したすべてのAPIは、優れたオンラインマッピングシステムを作成することができますが、あなたの選択はあなたまたはあなたの会社の将来の開発ニーズにも適合するはずです。


50

JavaScriptマッピングのフロントリーフレットに新しいプレーヤーがあります。BSDライセンスの下でCloudMadeによって開発されました。

本当に有望に見えます。

ここに画像の説明を入力してください

ソース


3
うわー、これは印象的なライブラリのようです。これに気づかなかったのには驚いた。
dkroy

2
以下は、リーフレットとオープンレイヤーのナビゲーション動作の比較です。
dkroy

2
素敵なフローチャート。リーフレットは実際に素晴らしいです。
-Mr_Chimp

7
もっと複雑なことにLeafletを使用しようとした後、OpenLayersやGeoExtと比較してかなり制限されていることを認めなければなりません。設定は非常に簡単で、見た目もとても良いですが、インタラクションに関してできることには制限があります。繰り返しますが、それぞれに場所があります。
Mr_Chimp

3
チャートの更新されたコピー(2012年1月から)は、geotux.tuxfamily.org

35

Google Maps / arcgis apiプロジェクトがあり、約1年前、OpenLayersを試すことにしました。仕事をすればするほど気に入ったので、移行することにしました。Googleコードの30〜100行をコード全体で1〜3行に何度も切り詰めました。OpenLayersには、私がやりたいことに対して機能があり、Googleマップ用に手動でコーディングする必要があったからです。


2
大丈夫だよー。ご意見ありがとうございます!私はこれに正しい答えがあるかどうかわからないので、意見や逸話は役に立ちます。
Mr_Chimp

2
+1タスクがマーカーでいっぱいの手よりも多くを表示することである場合、GoogleマップではなくOpenLayersを常に選択していました。
暗闇

20

CartoDBは、PostGISで地理空間データを分析、視覚化、共有するためのツールです。これは、SQL APIレイヤーを提供するオープンソースの地理空間データベースプラットフォームです。開発者は、地理空間目的に最適化されたクラウドPostrgreSQL + OpenGISデータベースに対してクエリを実行できます。

ここに画像の説明を入力してください



12

以下で、単純で具体的かつ一般的なタスクを実行するために必要なコードを(ハイライトとメモを使用して)比較します。

  • MapQuest
  • グーグルマップ
  • ビング
  • オヴィ
  • エスリ
  • OpenLayers
  • jQuery Geo

ここ:http : //trippingthebits.com/geopres/

この投稿は、jQuery Geoで行ったプレゼンテーション用のもので、残念ながらリストにありません。


それは良い記事です。あなたの色分けが好きです!非常に良いアイデア。
Mr_Chimp

jQuery Geo FTW!
サミール

1
ありがとう@SameerAlibhai!近日中にリリース候補1を公開する予定です。
ryanttb 14年

11

ブラウザ内で地球を視覚化したいのですが、セシウムは素晴らしいものです。(プラグインなしで動作しますが、ブラウザにはWebGLサポートが必要です)

3D、2D、2.5Dビューを表示できます

セシウムは3D、2Dおよび2.5Dをサポート

さまざまなラスター/ベクター形式(KMLなど)のサポート

Differnetラスター/ベクターデータのサポート

カメラとカメラのフライトを自由に制御

カメラを制御する

...(最新の)ブラウザ内のすべて。


2
うわー、これは本当に素晴らしいプロジェクトです!:)
クリスチャン

1
では、Cesiumが標準のWFS(Web Feature Service)をサポートしていない(および他の多くの)理由を説明してください。私には非常に強力なビューアですが、GISシステムではないようです。
Web-GIS起業家

11

私は完全な比較を行う能力はありませんが、Polymapsを使用して3つの異なる小さなプロジェクトを行っており、コメントすることができます。その主な強みは、さまざまなソースからのラスターデータとベクターデータを非常に簡単に合成できることです。特に、独自のカラーリング、グループ化、インタラクションを簡単に追加できるという点で、すべての要件を満たすことができます。また、Polymapsは非常に効率的です。迅速に実行され、バックグラウンドタイルの読み込みを適切に管理し、わずか30kのJavascriptです。

Polymapsの主な欠点は、SVGを使用することです。これは、MSIE 7または8では機能せず、動作しないことを意味します。SVGは強みでもあります。プログラミングが簡単で、レンダリングは見栄えがよく、特にベクトルとラスターフィーチャを少しずつスケーリングします。

ライブラリに関する注意点:Googleのラスタータイルをベースマップとして使用する場合は、Javascriptライブラリを使用する必要があります。OpenStreetMapなどには、ライブラリの選択を可能にするはるかに寛容なライセンスがあります。

(この回答は2011年からのものであり、多くの変更が行われています。Polymapsのメンテナンスは終了しました。この時点で、リーフレットが推奨されるオープンソースライブラリです。)


4
私の答えの更新です。Polymapsは、ここ数年で開発されていません。いくつかのユニークな機能を備えた興味深いライブラリですが、新しいプロジェクトには使用しません。最近、私はリーフレットを使用しています。
ネルソン

9

私は地図作成の卒業生であり、ウェブマッピングの初心者ですが、さまざまなテクノロジーを比較し、ウェブマッピングを開始するための基本的な「ハウツー」ガイドをまとめるプロジェクトに取り組んでいます。私の分析は決して包括的なものではなく、各ライブラリをいじったり、より経験豊富なプログラマーからのこのような投稿を通して、各ライブラリの感覚をつかもうとしています。フィードバックをお待ちしております。


(+1)貢献していただきありがとうございます-コミュニティへようこそ!
whuber


7

アーバンマッピングのMapfluenceも混在しています。Webベースのジオサービスを提供するホストされたマッピングプラットフォーム。RESTにアクセスでき、JavaScript(改善されたドキュメント/チュートリアル)APIを使用できます。または、必要に応じてOL。独自のベースタイルをレンダリングし、オンデマンドデータの膨大なカタログを持ち、データおよびその他の視覚化クエリをサポートします。

geoの概要については、Wedのジオサービス+ビッグデータに関するO'Reillyのウェビナーをご覧ください。


7

Geomajasも見ることができます。これは、Java(GWTを使用するJavaクライアントを含む)で記述されたGISフレームワークです。ただし、JavaScriptで完全なクライアント側APIを提供するプラグインが現在進行中です。まだ安定していませんが、一見の価値があります。Geomajasを使用する利点は、バックエンドとクライアント間の強力な統合です。これには、サーバーへの作業を簡単にオフロードする機能や、特にセキュリティを強化する機能など、いくつかの利点があります。


6

私はammapをお勧めします:http://www.ammap.com 彼らは、フラッシュ・マップを持っていたが、最近の優れた機能の多くではJavaScriptマップを導入しました。


4

あなたは、データの可視化ライブラリを探している場合は、チェックアウトHighmapsを背後人々から、Highcharts( -現在のソフトウェア開発者として採用自分自身が含まれています)。非営利目的での使用は無料で、モバイルブラウザ(フルタッチサポート)およびIE6までの古いIEに最適です。ドリルダウンや豊富なツールチップなどの高度な動的機能をサポートします。

ここに画像の説明を入力してください ここに画像の説明を入力してください


2
特に、これはここでの最初の投稿なので、回答を編集して、Highsoftのソフトウェア開発者として働いていることを明らかにする必要があると思います。 公然の自己宣伝を避けてください。コミュニティは公然の自己宣伝に投票し、スパムとしてフラグを立てる傾向があります。適切で適切な回答を投稿してください。 、回答で所属を開示する必要があります。」
PolyGeo

1
結構、編集済み。
オイシュタイン14年

3

JavaScriptマッピングライブラリから必要な機能を比較する興味深い方法論を見つけることができます(このユースケースに限定されません)。RichardDonohue &alによるNACIS 2012イベントで発表されました。興味深い部分は、目的と必要な機能に応じて分類を行う方法についてです。



2

ヘロンも検討できるかもしれません。Ext上に構築され、レイヤーを開いて一緒にカスタマイズできる多くのテンプレートがあります。

別の潜在的な候補はGeoJSです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.