Scribble Maps Blog
モバイルとAPIに対応した、過去最大のリリース。
ついにScribble Mapsの新バージョンをリリースすることができ、非常に興奮しています(そして少しホッとしています)。お話ししたいことがたくさんあります。新しい基本エディタと、フル機能のAPIを公開しました。
私たちは、実質的にすべてをゼロから再構築したということにユーザーが気づかないほど、新バージョンの体験に一貫性を持たせたいと考えました。カスタムカーソルといったシンプルな機能でさえ、クロスブラウザの互換性を維持したかったため、大きな挑戦でした。その結果、新バージョンはIE7まで遡って動作します。
GoogleがMaps APIのFlash版のサポート終了を発表したことを受け、完全な再構築が必要になったため、私たちはいくつかの核となる目標を決定しました。
私たちが受け取った最大の要望の一つは、モバイル環境、特にタブレットでScribble Mapsを使用できるようにすることでした。Javascriptを採用したため、アプリケーションはタブレットデバイスでも動作します。
しかし、地図アプリケーションが動作することと、それが使いやすいことは別問題です。たとえば、デスクトップ版のScribble Mapsにはロールオーバー(マウスホバー)がありますが、タブレットにはロールオーバーがありません。
Scribble Mapsでの描画はキャンバスと同じように機能するため、事前にスタイルを指定しておき、そのスタイルを適用した複数の線を描画することができます。これは図形だけでなく、マーカーなどにも適用されます。そのため、以下のような処理を行うことが可能です。
ユーザーと地図との関係はツールによって定義され、ツールを変更することで、ユーザーが地図と対話する方法が変わります。
一方、Scribble Mapsには制限がありません。地図が保存されると、その地図に含まれるデータ量に関係なく、その地図の画像をリクエストできます。さらに、地図が保存されると画像は無効化され、次回リクエストされたときに再度レンダリングされます。これにより、地図を変更するたびに更新される画像リンクを効果的に作成することができます。
以下は、そのような画像の一例です。
リンク
Scribble Maps API
Scribble Maps API グループ
FlashからHTML5/Javascriptへ
多くのユーザーの皆様にとって、技術的な変更自体はピンとこないかもしれませんが、これがもたらす影響は非常に大きいです。FlashからHTML5/Javascriptへの移行は決して簡単なことではありませんでした。特に、オリジナルのScribble Mapsがこれほど人気を博した理由である「使い心地」を、できる限りそのまま維持したかったからです。私たちは、実質的にすべてをゼロから再構築したということにユーザーが気づかないほど、新バージョンの体験に一貫性を持たせたいと考えました。カスタムカーソルといったシンプルな機能でさえ、クロスブラウザの互換性を維持したかったため、大きな挑戦でした。その結果、新バージョンはIE7まで遡って動作します。
GoogleがMaps APIのFlash版のサポート終了を発表したことを受け、完全な再構築が必要になったため、私たちはいくつかの核となる目標を決定しました。
- ウェブアプリケーションがデスクトップとモバイルの両方の環境で動作すること。
- 独自のレンダリングエンジンを構築し、必要に応じて異なるAPIプロバイダーに切り替えられるようにすること。
- いかなる地図APIプロバイダーの利用規約にも違反しないこと。
- 開発者が自身のアプリケーションで当社の地図作成ツールを利用できるよう、API中心の再構築にすること。
モバイル版Scribble Maps
私たちが受け取った最大の要望の一つは、モバイル環境、特にタブレットでScribble Mapsを使用できるようにすることでした。Javascriptを採用したため、アプリケーションはタブレットデバイスでも動作します。しかし、地図アプリケーションが動作することと、それが使いやすいことは別問題です。たとえば、デスクトップ版のScribble Mapsにはロールオーバー(マウスホバー)がありますが、タブレットにはロールオーバーがありません。
このため、タッチデバイスを使用しているかどうかに基づいて、ユーザー体験を自動的に変更するようにしました。これは、コードを一切変更することなく自動的に行われます。
Scribble Maps API
世の中には約半ダースの非常に人気のある地図APIが存在するため、私たちは特に編集とインタラクティブ性に焦点を当て、その他のビジュアライゼーションやタイルのレンダリングは他のAPIに任せることにしました。APIの構造を決定する際、Javascriptプログラミングにおいて最も優れたスタイルの一つがJQueryであると考えました。そのため、わずか1行でオーバーレイやインタラクティブ性を作成することが可能です。
ScribbleMap.draw.line([[lat, lng], [lat2, lng2]], { lineColor: "#0000FF" }).click(function() { alert("クリックされました") });
Scribble Mapsでの描画はキャンバスと同じように機能するため、事前にスタイルを指定しておき、そのスタイルを適用した複数の線を描画することができます。これは図形だけでなく、マーカーなどにも適用されます。そのため、以下のような処理を行うことが可能です。
ユーザーと地図との関係はツールによって定義され、ツールを変更することで、ユーザーが地図と対話する方法が変わります。
ダイナミック画像API
Scribble Mapsが主に使用される目的の一つは、画像の生成です。これはFlashから移行するにあたり、大きな課題であると同時に、新たな機会でもありました。他の地図APIには「静的画像」を作成する機能があります。しかし、これらの静的画像APIの問題点は、レンダリングされる画像に含めることができるデータ量に、ほぼすべて制限があることです。一方、Scribble Mapsには制限がありません。地図が保存されると、その地図に含まれるデータ量に関係なく、その地図の画像をリクエストできます。さらに、地図が保存されると画像は無効化され、次回リクエストされたときに再度レンダリングされます。これにより、地図を変更するたびに更新される画像リンクを効果的に作成することができます。
新しいウィジェット
また、2.0では、より多くのUIコントロールを備えたウィジェットを導入しました。これは最初のバージョンであり、今後数週間にわたって改善を続けていく予定です。リンク
Scribble Maps API
Scribble Maps API グループ