みなさん、こんにちは。次のプロジェクトのためにいくつかの基礎作業を行っています。アプリケーションにマップを表示する必要があります。グーグルマップの代替案を見つけました。ここにリストを見つけました。グーグルマップの代替APIはOpenLayerマップの使用を考えています。 OpenLayersを使用する際の制限はありますか?誰かがこれに取り組んでいます。OpenLayersのWebサイトで制限を見つけることができませんでした。
1 に答える
私は現在、openlayers を使用して、独自のタイル サーバーによって配信される OSM ベースのマップを表示するアプリを実装しています。WebView 内で OL を使用しています。HTML ファイルとスクリプト、画像などは、アプリのアセット フォルダーに保存され、そこから呼び出されます。
今までは問題なく動作しています。しかし、Android ではマルチタッチ ナビゲーションに制限があります。デバイスはマルチタッチ (特にピンチ ズーム ジェスチャ) をサポートしますが、Android WebView (およびストック ブラウザー) はできません。これは、Android < 3.0 の 2009 年以降の未解決の問題ですopenlayers.orgで対応する制限のドキュメントを見つけることができ、要約表があります (私はそれを投稿しますが、StackOverflow では画像を投稿できません。メンバー) Android でピンチ ズームを動作させる興味深いプロジェクトがあるので、来週試してみます。
ストック ブラウザからマップを表示するときのマップのパフォーマンスは非常に優れていますが、Web ビューでマップを使用する場合、いくつかのパフォーマンス上の問題があります。秒。Samsung Galaxy S1 (Android 2.3.6) でのみテストしました。ただし、エミュレーターではパフォーマンスの問題は発生しません。来週には、デュアル コア CPU を搭載した Android デバイスが必要です。これにより、アプリが webview のマップで再び使用できるようになると思います (結果が表示されます)。
私の経験を要約すると、OpenLayers は非常に強力であり、それを使えば何でもできると感じています。チュートリアルについては、グーグルで検索するだけです;-)
更新: 今週、Samsung Galaxy S3 でテストできました。マップの出来は最高!もう問題はありません。また、S3 には Android 4.0.4 が付属しているため、マルチタッチ ジェスチャはデフォルトですべて利用可能です。変更は必要ありません。エミュレーターでは、マップを非常に集中的に使用している場合 (ズーム) にいくつかの問題がありますが、デバイスではそのような問題はありません。Galaxy S 1 には (まだ) webview キャッシュにいくつかのバグがあり、そのため非常に遅いことがわかりました。シングルコアCPUしか持たない携帯電話の問題かもしれません。別のデバイスをテストできませんでした。ただし、問題の解決策が見つからず、それが openlayers 関連の問題であると思われる場合は、プロジェクト ページで問題を確認してください。