4

私はオープン Web テクノロジを使用してモバイル アプリを作成しています。主に新しく出現した Firefox OS を対象としていますが、Web ブラウザーを備えたあらゆるモバイル デバイスをサポートする予定です。このアプリは、現在私の都市にある公共交通機関に関するものですが、他の地域にも拡張することができます。公共交通機関の駅の場所に関するグラフィック情報をユーザーに提供したり、駅 A から駅 B までの最短ルート情報を提供したり、市の公開 API を使用して車両の位置を追跡したりしたいと考えています。

これは Firefox OS アプリであるため、プレゼンテーションには HTML5/CSS3 を使用し、ロジックには Javascript を使用し、これらのファイルをローカルに保持することで、アプリが動作するためにインターネット アクセスを必要としません。ただし、私が直面している問題は、都市地図をレンダリングすることです (強調表示された道路や駅など、上にオーバーレイが表示される可能性があります)。アプリがインターネット接続に依存しないようにしたいのは、移動中や公共の場で使用されることがあると思われるためです。永続的な WiFi 接続の可能性がなく、ユーザーはキャリア プロバイダーに依存する必要があります。データ接続は、費用がかかり、潜在的なユーザーをそらす可能性があります。

これまでのところ、オフライン ファイルから OpenStreetMap データをレンダリングできるKothic-JS (HTML5 キャンバスを使用) しか見つけることができませんでしたが、Firefox OS シミュレーターで十分な計算能力が利用可能であっても、パフォーマンスが低下するので心配です。私のデスクトップコンピュータ。FxOS を搭載したローエンドのモバイル デバイスにどのような恐怖を引き起こすか想像することしかできません。アプリが使用できなくなるのではないかと心配しています。他のライブラリ (OpenLayers など) は、私が確認できる限り、すべてサーバー生成のタイルをダウンロードする傾向があります。

HTML5 と Javascript を使用してモバイル デバイスで市内地図をレンダリングすることは可能ですか? この問題にどのようにアプローチすればよいですか?マップ ファイルは、巧妙な XSLT を使用して SVG に変換でき、必要に応じてクリッピングして SVG タイルに事前に分割することもできますが、使用できるズーム レベルが多数あるため、これらのタイルのサイズを正しく選択することはできません (つまり、ズーム レベル 5 のタイルはデバイスの画面を占有し、ズーム レベル 2 のタイルはその小さな部分のみを占有し、画面を埋めるために 30 個のタイルのオーダーで描画することになります)。オンラインサービスに頼る以外にこれを行う方法はありますか? クライアント側のマップ レンダリング用の優れたライブラリがあることは承知していますが、これらはいずれも Javascript 内からは使用できません。

4

1 に答える 1