LoginSignup
0
0

GoogleMapsApiの勉強[1]

Posted at

GoogleMapsAPIの勉強

ジオコーディングとは

ジオコーディングは住所を地理座標に変換する処理のこと。
逆の処置も行える(リバースジオコーディング)。

ジオコーディングリクエスト

  • google.maps.Geocoderをコード内で使用することにより、Google Maps API ジオコーディングサービスにアクセスできる。
  • Geocoder.geocode()メソッドによって、ジオコーディングサービスへのリクエストを開始する。また、入力語句を含む GeocoderRequestオブジェクトリテラルと、回答の受け取り時に実行するコールバックメソッドを渡す。
  • GeocoderRequestオブジェクトリテラルのフィールドは以下のようになっている。
{
 address: string,
 location: LatLng,
 placeId: string,
 bounds: LatLngBounds,
 componentRestrictions: GeocoderComponentRestrictions,
 region: string
}

必須パラメータ (1つだけ指定する必要がる)
address or location or placeId

省略可能パラメータ
boundscomponentRestrictionsregion

ジオコーディングのレスポンス

ジオコーディング サービスには、ジオコーダの結果を取得する際に実行されるコールバック メソッドが必要です。このコールバックでは、resultsstatus のコードをこの順序で保持する 2 つのパラメータを渡す必要があります。

ジオコーディングの結果
GeocoderResultオブジェクトは、1つのジオコーディングの結果を表す。

results[]: {
 types[]: string,
 formatted_address: string,
 address_components[]: {
   short_name: string,
   long_name: string,
   postcode_localities[]: string,
   types[]: string
 },
 partial_match: boolean,
 place_id: string,
 postcode_localities[]: string,
 geometry: {
   location: LatLng,
   location_type: GeocoderLocationType
   viewport: LatLngBounds,
   bounds: LatLngBounds
 }
}

各フィールドの説明はこちらを参照してください。

ステータスコード

  • "OK"は、エラーが発生せず、住所が正常に解析され、少なくとも 1 件のジオコードが返されたことを示します。
  • "ZERO_RESULTS" は、検索は成功したものの結果が返されなかったことを示します。これは、実在しない address がジオコーダに渡された場合に発生することがあります。
  • "OVER_QUERY_LIMIT" はリクエストが割り当て量を超えていることを示します。
  • "REQUEST_DENIED" はリクエストが拒否されたことを示します。ウェブページではジオコーダを使用できません。
  • "INVALID_REQUEST" は一般的に、クエリ(address、components、latlng)が不足していることを示します。
  • "UNKNOWN_ERROR" はサーバーエラーでリクエストが処理できなかったことを示します。再度リクエストすると、成功する可能性があります。
  • "ERROR" は、リクエストがタイムアウトしたか、Google サーバーへの接続中に問題が発生したことを示します。再度リクエストすると、成功する可能性があります。

公式ドキュメント

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0