Googleマップを数回使用しましたが、 OpenLayers について疑問に思ったことは何ですか。
あらゆる種類のコーディングを開始する前に、いくつかの質問が思い浮かびます。
私はまだ試していません、それらはただの青い質問です...
これらは本当に素晴らしい質問です!私はOpenLayersのプロの開発者であり、ファンです。その観点からあなたの質問に対処します。
Googleマップの代わりにOpenLayersを使用するのはなぜですか?
プロジェクトの長期的な実行可能性についてはまったく心配しません。これは、最高のオープンソースのクライアント側マッピングライブラリです。
よくある落とし穴/問題はありますか?
JavaScriptフレームワークの互換性
多くの場所で利用可能なマップはありますか?
道路を表示するAPIはありますか?
OpenLayersの良いチュートリアルを知っていますか?
これが役に立つことを願っています。また、質問がある場合はStack Overflowを使用しています。
OpenLayers OR Google Mapsの質問ではありません。OpenLayersの地図の背景にGoogle Mapsを使用することができます。
なぜOpenLayersなのか?
落とし穴
パフォーマンス
JavaScriptフレームワーク
利用可能なマップ
SOのOpenLayersユーザーからの存在はあまり見ていませんが、彼らはそこにいます。 OpenLayersメーリングリスト はかなりアクティブです(私は- sers および Dev で、1日に50から100のメールでさまざまなことを議論しています。これらのリンクからリストを検索することもできます。
すべての質問に答えることはできませんが、ここでお伝えすることの1つは、OpenLayersとGoogleマップは相互に排他的ではないということです。 OpenLayersはjavascriptライブラリであり、これを使用してGoogleマップと対話できます。次の例をご覧ください: Googleマップを使用したOpenLayers 。そして、ここにメインの OpenLayersのサンプルページ があります。
ここで完全に作成されていない点の1つは、OpenLayersを使用すると、GoogleがそのマップAPIの利用規約に課すさまざまな制限を回避できることです。
Googleマップは、アクセスするために支払いが必要なサイトのセクション、または一般の人がサインアップできないプライベートサイト(企業イントラネットなど)でのみGoogleマップを合法的に使用することはできません。 (IANAL、ただし 利用規約、9.1 および FAQ を参照)
オフラインアプリケーション(つまり、タイルが自分のマシンから提供される場合)でGoogle APIを合法(または実際)に使用することはできません。法的な制限がなかったとしても、Googleはこれを技術的に非常に難しくしますが、OpenLayersはそれを簡単にします。
Googleは、好ましくないコンテンツを含む地図を表示している場合、APIへのアクセスをシャットダウンする権利を留保します。 FAQに記載されている例 は違法薬物の地図であり、この制限がカバーする可能性のある灰色の領域をよく理解できます。
とはいえ、最近OpenLayersを使い始めた長年のGoogle Maps開発者として、Google MapsはOpenLayersよりも優れたドキュメント、より大きなユーザーコミュニティ、より明確で安定したAPIを持っていると感じています。そのため、どこかでトレードオフを行う必要があります。
それは本当にあなたがマップを使用したいものに依存します。地図上にポイントを簡単にプロットするには、Googleマップで十分です。 Googleマップのマップレイヤーも非常に詳細です。一方、OpenLayersははるかに多くの機能を提供し、非常に拡張可能です。
OpenLayersには、開始するための多くの例があります。
マップに関しては、OpenLayersはAPIに過ぎないため、レイヤーをマップするために提供する必要があります。 Google Maps APIは、Googleが提供するマップレイヤーに限定されます。 OpenLayerを使用すると、公開されているほぼすべてのマップサービス(WMS、WFS、TMS、WMS-C)を表示できます。非常に良い例はopenstreetmap.org コミュニティによって収集されたグローバルな道路地図)です。 OSMは、TMSレイヤーとしてオープンレイヤーに追加できます。手順については、この---(例 を確認してください。
私はすべての答えに同意しますが、誰も言及していない非常に重要な点が1つあります。 OpenLayersとGoogle Mapsのターゲットは異なります。
OpenLayerは、地理データを表示するための優れたフレームワークですが、Googleマップは、他のサービスの中でも地理データを表示するためのフレームワークを含むサービスのプールです。
そのため、GoogleマップはOpenLayesにはない多くのサービスと機能を公開しています。 Googleマップの機能とサービスの例には、地域のローカリゼーション、センサー検出(GPSを備えたデバイスの場合)、ユーザーのローカリゼーション、ジオコーディングとリバースジオコーディング、ストリートビューなどがあります。
一部のクライアントは、Googleマップの使用について拒否したり、強い予約をしている場合があります。 Googleが広告を導入したり、予告なくAPIを変更したりする可能性があるという正当な懸念がある場合があります。ただし、Googleマップには、他のGoogleサービス(目印、写真の追加、ジオコーディングサービス)と統合できるという利点があります。 Webとして、さまざまなマッピングサービスとAPIをいつでも組み合わせることができます。
両方のAPIを使用しました。企業向けのソフトウェアを作成していますが、このソフトウェアにはマッピングが必要ですが、すべてのクライアントがGoogleMapsライセンスを持っているわけではないため、両方のタイプのマップをサポートする必要があります。
それらの間の違いを抽象化するための共通のAPIを作成しました。マップをパンできる場所の境界を制限するように、OpenLayersで行う方がはるかに簡単ですが、ヒートマップはGoogleMapsで使用する方が簡単です(利用可能なOpenLayersプラグインとは異なり、Googleによって公式にサポートされています)。
OpenLayersはオフラインマップをサポートしています。一部のユーザーは、インターネットに接続していないプライベートイントラネットにいます。
GoogleMapsには、 MarkCluster と Spiderfier の2つのプラグインが必要です。これにより、膨大な数のマーカーを視覚化できます。
GoogleMaps InfoWindowsはOpenLayers.Popupsよりも使いやすく、使い勝手が優れています。これらは、マーカーをクリックすると開くことができる小さなウィンドウです。 GoogleマップのInfoWindowsもデフォルトでかなりきれいになっています。ポップアップでCSSウィザードを実行する必要があります。
GoogleMapsには、時々役立つストリートビューがあります。
GoogleMapsには、必要な機能が他にもあります。 OpenLayersにも多くの機能がありますが、公式にはサポートされていません。
通常、最終的にはOpenLayersを使用する必要があります。これは、ライセンスとgooglemapsの帯域幅使用による頭痛が軽減されるためです。どちらも基本的なマッピング(つまり、マップの上にマーカーを表示する)を非常にうまく処理します。必要な特定の機能が他の機能にない場合は、OpenLayersにアクセスする必要があります。 googlemapsの請求の詳細と無料で使用できる場合については、 this を参照してください。
また、GoogleMapsの基本的な位置情報タイプは「LatLng」であり、Openlayersは「LonLat」を使用しています。
クライアントの使用状況とデータダービングという2つの観点から、2つ追加します。
クライアントの使用:
データ提供:
[〜#〜] kml [〜#〜] データを提供していますか?もしそうなら、OpenLayersとGoogle Mapsの両方がそれで動作し、おそらくクライアントの使用に基づいて決定する必要があるでしょう。
他の種類のデータサービスを提供していますか? (WMS、WFS、CSVなど)その場合、OpenLayersには例とサポートがあります。
速度の問題に言及した人たちに加えて、IEのVMLレンダラーは多くの機能を備えたベクターレイヤーで本当に遅くなる可能性があることを付け加えたいと思います。 1人のユーザーが約200に言及しました。それは、IEがフリーズするまでかなり遅くなります。内部的には、各テキストラベルは2つのVML要素で構成されます。
Googleでは、コンテンツが「div」であるカスタムGOverlayを作成できます。これはIEで問題なくレンダリングされます。
OLには大規模なファンベースがあり、おそらく世界で最も使用されているオープンソースジオシングです。
OLはストラットに似ているからではなく、JSFやモバイル(非地理)などの他の種類の技術について議論する傾向があるため、多くのスレッドとこのサイバープレースに関する投稿を見ることはありません。
ただし、Olにはいくつかの欠点があります。主に、レベルが非常に低いため、一般的な操作を行うには大量のコードを記述する必要があります。開発者として、a:あなたはすべてのコードを前もって持っており、b:微調整とカスタマイズは非常に簡単だからです。
より洗練された無料のジオツールがありますが、それらはすべて、オープンレイヤーを呼び出し、退屈な雑用の一部を抽象化するだけです。
自信を持って使用してください。成熟していて堅牢であり、近い将来に死ぬことはありません。ただし、開発プロセスを高速化する場合は、その上にマウントする他のツールを試してください。
ごきげんよう