Google静的マップの使用
この記事では、著者自身の経験に基づいて静的なGoogleマップを使用する主な可能性について説明しています。Googleは、マップサービスを使用するための2つのオプションを提供しています。
- Googleマップ 。さまざまな地理情報を表示するためのさまざまなオプションを提供するJavaScriptベースのAPI。
適切に設計され構造化されたクラスライブラリがあり、そのドキュメントは次のリンクにあります。
英語 、 ロシア語 、サンドボックスで遊ぶ
- また、2番目のオプションは、はるかに少ない機能を提供しますが、使用することしかできない場合があります。
これらは静的マップです。 一般的に、このサービスを使用すると、マップを簡単に表示できます。結果の画像の最大サイズは512x512ピクセルで、座標とともに、ズームレベルを示してマークを追加することもできます。
両方のサービスオプションには利点があり、明確に定義された領域で使用する必要があります。 ただし、どのカードをいつ使用するかを正しく判断するには、すべての可能性を知る必要があります。
この記事は静的カードについて書かれていますが、普通のカードについてはまた話をすることができます。
静的なGoogleマップ
Google APIを使用するには、
無料で
登録し 、APIキーを取得する必要があります。APIキーはほとんどの場合使用されます。
また、開発者向けに、Static Maps APIの使用に関する完全な情報が提供されています。これは、
英語と
ロシア語のアドレスにあります。
プロジェクトでマップを動的に使用したい場合もありますが、通常のGoogleマップを使用する方法はありません。 これは主に、ターゲットプラットフォームでのJavaScriptサポートの存在によるものです。
良い例であるJ2MEは、かなり適切なネットワーキングの機会ですが、JavaScriptを使用する方法はまったくありません。 したがって、静的マップは最適なソリューションの1つです。
架空のモバイルサービスを考えてみましょう:ユーザーは自分のバー、カフェ、その他のケータリング施設をデータベースに自由に追加できます。その後、入力された住所に基づいて場所の座標が計算され、その説明を含むページですぐに地図を見ることができます
タスクは2つのサブタスクに分割されていることがわかります。
別の3番目のサブタスクを追加して、マップ上のナビゲーションを整理することもできます。
で座標を取得する
この手順はジオコーディングと呼ばれ、アドレスが座標に基づいて与えられる場合、逆ジオコーディングもありますが、考慮しません。
詳細な説明は、次のアドレスにあります。
英語と
ロシア語ジオコーディングを成功させるために必要なものは、Googleが理解できる形式の住所とAPIキーの2つだけです。
最初のものがすべて単純な場合、Googleの理解可能性の用語には明確化が必要であることを示します。 実際、ジオコーディングを成功させるには、入力した住所ができるだけ完全かつ正確でなければなりません。たとえば、同じアメリカではモスクワとパリを簡単に見つけることができるからです。 また、たとえば、道路が「レッドシューター」と呼ばれている場合、リクエストで「Cr。 射手」ほとんどの場合、何も見つかりません。
その後、すべてが簡単で、座標は緯度と経度の値のペアとして提供され、目的の住所をGoogleサービスに送信する必要があります
http://maps.google.com/maps/geoでは、次のパラメーターを指定します。
- q-ジオコーディングの対象となる住所。
- key -APIキー。
- 出力 -必要な応答形式。ここでは、xml、kml、csv、またはjsonの値が可能です。
モスクワでランダムなアドレスを取得する例:
http://maps.google.com/maps/geo?q=Russia%20Moscow%20Tverskaja%2011&output=json&key=abcdefgUPD 1コメントを記事に転送します。それが彼にとっての場所だと思います。
___________________
デフォルトのGIFではなく、JPG、またはPNG(私のお気に入り)で画像を受信するための、いくつかのオプションのパラメーター、たとえばformatパラメーターがまだあります。
残りすべてをお見せしましょう:
maptype-要求されたマップのタイプは、モバイル、衛星、地形、ハイブリッドに加えて可能です。
path -2点間の線の描画を指定でき、多くの点を指定できます。 しかし、このオプションは、手で本格的な地図を作成することはできず、道路や川などを自動的に考慮しないため、これらの線を手動で作成する場合にのみ適しています。
ある点から別の点へのパスを取得することは可能ですが、通常のJS APIを使用する場合にのみ、これらすべてを考慮に入れます。
節点の座標は、再びパイプ記号「|」で区切られます。
例:path = rgba:0xff0000ff、weight:5 | 40.737102、-73.990318 | 40.749825、-73.987963 | 40.752946、-73.987384 | 40.755823、-73.986397
span-パラメータは、ズームを指定しない場合にのみ考慮されます。spanを使用すると、表示される領域のサイズを指定できるためです。 たとえば、center = 40.714728、-73.998672&span = 20.20は、マンハッタンの中心と20x20度のサイズの周りの領域を表示します。
フレーム -存在する場合、幅5ピクセルの青いフレームがマップの周りに表示されます。
sensor-現在のバージョンでは必須としてマークされています。 私が理解しているように、自身の座標が移動するデバイスから来る場合は、trueに設定する必要があります。
さて、最後の
hl-マップにすべての名前を表示するための言語を明示的に指定できます。 限られた数のロケール名を理解しています。
___________________
特にこれは異なるプログラミング言語で異なる方法で行われるため、受信したデータを解析することは難しくないと思いますが、これについては詳しく説明しません。
その結果、毎回ジオコーディングを処理するのは非常に費用がかかるため、何か問題が発生した場合はゼロ、またはデータベースに保存したい住所の座標のいずれかを取得しました。
座標による地図の取得
タスクのこの2番目の部分は、マップを表示する必要があるとすぐに発生します。 原則として、ここでもすべてが簡単です。2番目のGoogleサービスを使用する必要があります。
http://maps.google.com/staticmap以下のパラメーターを取ります。
- center-マップセンターの座標(形式37.6095373,55.7606587);
- zoom-マップのズームレベル。通常、1〜15の数値。
- サイズ -要求された画像の寸法は、WxHの形式(300x200など)で送信され、最大値は512x512ピクセルとして定義されます。
key-APIキー。 - maptype-マップタイプ、ここではいくつかのオプションが可能ですが、この場合、モバイル値が最適です。
- マーカー - マーカーを使用して、たとえば周囲のカフェを表示するために、追加のタグをマップに追加できます。 使用形式は次のとおりです。
{latitude}、{longitude}、{color} {letter}マーカーはパイプ記号「|」で区切られています
例:
マーカー= 40.702147、-74.015794、ブルース| 40.711614、-74.012318、グリーン
ここでは2つのマーカーが作成されます。最初の青は文字S、2番目の緑は文字Gです。
これらのルールによって生成されたリクエストの結果、通常の画像が得られますが、これは表示するのが難しくありません。
ナビゲーションを整理する問題はまだありますが、これはすでにアプリケーションの詳細です。最も簡単な場合、地図の隣に、隣接する座標とのリンクを配置し、増減(ズーム+ 1、ズーム-1)して、毎回新しい地図をロードするか、何かを整理することができます非同期リクエストとマップの再描画ではより複雑になりますが、原則としてJ2MEではそれほど難しくありません。
06/06/12
パベル・オシポフ