サンクトペテルブルクの輸送を最小限の労力で監視するためのモバイルWebアプリケーションを作成します

背景

サンクトペテルブルクの公共交通機関の作業を監視できるAndroid OSのアプリケーションに関するトピックが登場した後、できるだけ多くのデバイスからこの情報にアクセスする便利で普遍的な方法を作成するというアイデアを思いつきました。



各プラットフォーム用のアプリケーションを作成するというアイデアはすぐに消えました。多くの時間がかかり、これらすべてのデバイスでプログラムをテストする方法がありません。 そのため、ブラウザで実行されるWebアプリケーションのオプションが選択されました。 これにより、JavaScriptをサポートするブラウザーを備えたほとんどのモバイルオペレーティングシステムで動作する可能性が広がります。 したがって、Android、iPhone、iPadおよびその他のiOSデバイス、Maemo、Windows 7電話、webOS、MeeGo、Moblinなどのかなり大きなリストを取得します(理論上)。 それでも、普通の、非タッチ式の電話があり、通常OperaMiniを使用しています。 彼女のために、同じアプリケーションのインターフェースを適合させようとします。



結果は次のとおりです。spbtransport.ru

AndroidアプリケーションSPBトランスポート



UPD 1. 記事の公開後しばらくして、GKU「交通機関の主催者」のサーバーは積極的な仕事に出発しました。 彼がすぐに任務に戻り、輸送ショーが再開されることを願っています。

UPD 2. サーバーGKU「トランスポートオーガナイザー」がサービスに戻りました。





アプリケーション作成



そのため、まず、私たちが持っているものを評価する必要があります。 MapServerは、GKU "Transport Organizer"のSPbサーバー上にあり、必要なサイズと縮尺のマップを、透明な背景を持つpng画像の形式で生成できます。 テキスト形式で情報を取得する方法が見つかりませんでした。 マップを表示するためのライブラリとしてOpen Layersを使用することが決定されました。 ページ上の一般的な問題を解決するには-jQuery mobile



私の場合、幸運なことに、Open LayersのWebサイトでは、例にjqueryを使用したページが既にありました。 私はそれを基礎として取りました。



Open Street Mapをマップとして残しました。それらは非常に詳細であり、地形をナビゲートしたいユーザーにとって間違いなくプラスです。 Open Street MapのNominatimサービスが検索プロバイダーとして選択されました。 マップの選択したエリアで検索でき、多数のマークが含まれています-ストップ、メトロ、ショップ、その他の多くのランドマークの名前で検索できます。

他の機能の中でも自動配置があり、表示されたレイヤーの選択が可能です。



サーバー側で何を使用するかを選択する必要があります。 マップリクエストを処理するために、Apache Tomcatでjspスクリプトを使用したAWS Elastic Beanstalkサービスが使用されました。 これにより、システムは負荷に応じて自動的にスケーリングできます。



Android版



最初は特定のOS向けにプログラムのバージョンを作成したくありませんでしたが、ページのほとんどは静的であることが判明したため、アプリケーションをデバイスにダウンロードしてサーバーからデータをロードすることは理にかなっています。



マニュアルを使用して、アセットにページコードを配置すると、Android用のアプリケーションが作成されます。 これにより、1石で2羽の鳥を殺すことができます。プログラムコードはローカルにあり、毎回サーバーからロードされるわけではありません。 次に、マップはアプリケーションキャッシュに保存されるため、トラフィックも大幅に削減されます。



非タッチデバイスのバージョン



ここではOpera Miniを意味します。 そのためには、マップ内を移動するためのボタンを用意し、位置を決定するためのボタンを削除する必要があります。



公平に言うと、このアプローチは非常にうまく機能せず、モバイル版をやり直す必要があることに注意してください。 さらに、多くのデバイスでは、圧縮画像の表示に問題があります。



まとめ



他のプロジェクトと同様に、これには欠点もあります。 ビーコンはまだすべての車両にインストールされているわけではありませんが、毎日増え続けています。 このベンチャーは単なる実験であるという事実にもかかわらず、このサービスは必要な情報を幅広いユーザーに提供できると思います。 おそらく、将来的には、国家機関「Transport Organizer」との協力を得て、関連情報をテキスト形式で入手する予定です。 これにより、カード生成サーバーをインストールし、現在使用しているマップサーバーの負荷を軽減できます。



記事とサービス自体の両方が有用であり、ユーザーを見つけることを願っています。



関連リンク



Spb Transport J2ME

オンラインのSPBトランスポート



All Articles