HERE Geocoding and Searchの互換ホスト

HEREは検索APIを複数のホストに分けています。それらはすべてhere.mygeocode.comにまとめられ、HEREのクライアントが読み取るのと同じitems配列、addressオブジェクト、positionオブジェクトで応答します。

ホスト名を1つ変えるだけ

元のホスト
  • geocode.search.hereapi.com
  • revgeocode.search.hereapi.com
  • autosuggest.search.hereapi.com
  • autocomplete.search.hereapi.com
代わりに使うホストhere.mygeocode.com
キーのパラメーターapiKey(任意:どのアドレスでもキーなしで1日あたり2,500件のリクエストが使えます。クレジット、パッケージ、利用履歴を使うにはここにMy Geocodeのキーを入れてください)
変更前
curl "https://geocode.search.hereapi.com/v1/geocode?q=Invalidenstra%C3%9Fe+116+Berlin&apiKey=YOUR_HERE_KEY"
変更後
curl "https://here.mygeocode.com/v1/geocode?q=Invalidenstra%C3%9Fe+116+Berlin&apiKey=YOUR_MYGEOCODE_KEY"

移行する理由

HEREはトランザクション単位の料金で、月額の契約が伴います。ホスト名を1つ変えるだけで、キーの有無にかかわらずアドレスごとに1日あたり2,500回の無料呼び出しが使え、それ以降は定額またはリクエスト単位の料金になります。

キーの有無にかかわらず、無料枠は同じです。here.mygeocode.comへのリクエストは、お使いのアドレスまたはキーが当社独自のエンドポイントで得ている1日あたり2,500件の無料リクエストと同じ枠から差し引かれます。それを超える分は、プリペイドクレジットで1リクエストあたり€0.0001、またはUnlimitedキーで月額€50です。登録に必要なのはメールアドレスだけです。

料金を見る 無料のキーを取得

エンドポイント

here.mygeocode.comのパス機能バックエンド
/v1/geocode?q=...ジオコードジオコーディング
/v1/geocode?qq=street=...;city=...修飾クエリによるジオコードジオコーディング
/v1/revgeocode?at=lat,lng逆ジオコード逆ジオコーディング
/v1/autosuggest?q=...&at=lat,lngオートサジェスト住所オートコンプリート
/v1/autocomplete?q=...オートコンプリート住所オートコンプリート

レスポンスの例

上記のリクエストはこれを返します。フィールド名、入れ子構造、型はHEREに準拠しています。その中身のデータだけが当社のものです。

here.mygeocode.comからのレスポンス
{
  "items": [
    {
      "title": "Invalidenstraße 116, 10115 Berlin, Deutschland",
      "id": "mg.de.addr.9a3f1c77",
      "resultType": "houseNumber",
      "houseNumberType": "PA",
      "address": {
        "label": "Invalidenstraße 116, 10115 Berlin, Deutschland",
        "countryCode": "DEU",
        "countryName": "Deutschland",
        "stateCode": "BE",
        "state": "Berlin",
        "countyCode": "B",
        "county": "Berlin",
        "city": "Berlin",
        "district": "Mitte",
        "street": "Invalidenstraße",
        "postalCode": "10115",
        "houseNumber": "116"
      },
      "position": { "lat": 52.53041, "lng": 13.38527 },
      "access": [ { "lat": 52.53039, "lng": 13.38533 } ],
      "mapView": { "west": 13.38393, "south": 52.52951, "east": 13.38661, "north": 52.53131 },
      "scoring": {
        "queryScore": 1.0,
        "fieldScore": { "city": 1.0, "streets": [1.0], "houseNumber": 1.0, "postalCode": 1.0 }
      }
    }
  ]
}

詳細と相違点

1日あたり最初の2,500件のリクエストにはキーは不要です。My Geocodeのキーを使う場合は、HEREのキーがあった場所、つまりapiKeyクエリパラメーター(apikeyも使えます)またはBearerトークンに入れてください。X-API-Keyヘッダー、Authorization: Bearer、HTTP Basic認証(キーをユーザー名として使用)もすべてのホストで使えるため、独自の方法で認証するクライアントライブラリも変更なしで動作し続けます。

  • エラーには、HEREのtitle、status、code、cause、actionの各フィールドと相関IDが使われます。
  • 元のサービスにないため、一括処理のエンドポイントはありません。大量の処理には、api.mygeocode.comPOST /v1/forwardまたは/v1/reverseをお使いください(1回の呼び出しで最大100件、それぞれ1リクエスト)。

お使いのクライアントがここに記載されていないフィールドや動作に依存している場合は、お知らせください。互換性の差異はたいてい小さいため、すぐに修正されます。

その他の互換ホスト

互換ホストの仕組み概要JavaScriptライブラリの互換対応