TomTom Searchの互換ホスト
TomTomのGeocode、Reverse Geocode、Fuzzy Searchの各エンドポイントが、tomtom.mygeocode.comで同じsummaryとresultsの構造で応答します。ほとんどの連携で表示されるfreeformAddressフィールドも含まれます。
ホスト名を1つ変えるだけ
| 元のホスト |
|
|---|---|
| 代わりに使うホスト | tomtom.mygeocode.com |
| キーのパラメーター | key(任意:どのアドレスでもキーなしで1日あたり2,500件のリクエストが使えます。クレジット、パッケージ、利用履歴を使うにはここにMy Geocodeのキーを入れてください) |
curl "https://api.tomtom.com/search/2/geocode/Avenida%20Paulista%201578%20S%C3%A3o%20Paulo.json?key=YOUR_TOMTOM_KEY"curl "https://tomtom.mygeocode.com/search/2/geocode/Avenida%20Paulista%201578%20S%C3%A3o%20Paulo.json?key=YOUR_MYGEOCODE_KEY"移行する理由
TomTomの無料枠は1日あたり2,500トランザクションで当社と同じですが、TomTomでは1トランザクションで複数のクレジットを消費することがあります。こちらではすべての呼び出しが1リクエストで、有料利用には定額のオプションもあります。
キーの有無にかかわらず、無料枠は同じです。tomtom.mygeocode.comへのリクエストは、お使いのアドレスまたはキーが当社独自のエンドポイントで得ている1日あたり2,500件の無料リクエストと同じ枠から差し引かれます。それを超える分は、プリペイドクレジットで1リクエストあたり€0.0001、またはUnlimitedキーで月額€50です。登録に必要なのはメールアドレスだけです。
エンドポイント
| tomtom.mygeocode.comのパス | 機能 | バックエンド |
|---|---|---|
/search/2/geocode/{query}.json | ジオコード | ジオコーディング |
/search/2/structuredGeocode.json?countryCode=...&streetName=... | 構造化ジオコード | ジオコーディング |
/search/2/reverseGeocode/{lat},{lon}.json | 逆ジオコード | 逆ジオコーディング |
/search/2/search/{query}.json?typeahead=true | 先行入力付きのあいまい検索 | 住所オートコンプリート |
レスポンスの例
上記のリクエストはこれを返します。フィールド名、入れ子構造、型はTomTomに準拠しています。その中身のデータだけが当社のものです。
{
"summary": {
"query": "avenida paulista 1578 sao paulo",
"queryType": "NON_NEAR",
"queryTime": 21,
"numResults": 1,
"offset": 0,
"totalResults": 1,
"fuzzyLevel": 1
},
"results": [
{
"type": "Point Address",
"id": "mg.br.addr.7d1a55f2",
"score": 11.98,
"address": {
"streetNumber": "1578",
"streetName": "Avenida Paulista",
"municipalitySubdivision": "Bela Vista",
"municipality": "São Paulo",
"countrySecondarySubdivision": "São Paulo",
"countrySubdivision": "São Paulo",
"countrySubdivisionCode": "SP",
"postalCode": "01310-200",
"countryCode": "BR",
"country": "Brasil",
"countryCodeISO3": "BRA",
"freeformAddress": "Avenida Paulista 1578, Bela Vista, São Paulo, SP 01310-200",
"localName": "São Paulo"
},
"position": { "lat": -23.561414, "lon": -46.655881 },
"viewport": {
"topLeftPoint": { "lat": -23.560514, "lon": -46.656881 },
"btmRightPoint": { "lat": -23.562314, "lon": -46.654881 }
}
}
]
}詳細と相違点
1日あたり最初の2,500件のリクエストにはキーは不要です。My Geocodeのキーを使う場合は、TomTomのキーがあった場所、つまりkeyクエリパラメーターに入れてください。X-API-Keyヘッダー、Authorization: Bearer、HTTP Basic認証(キーをユーザー名として使用)もすべてのホストで使えるため、独自の方法で認証するクライアントライブラリも変更なしで動作し続けます。
- 自由形式、構造化、逆ジオコーディングのすべてがルーティングされ、searchエンドポイントにも対応しています。
- 回答はTomTomの
summaryとresultsの形式を保ちます。 - Batch Searchは両方の方式で動作します。
POST /search/2/batch/sync.jsonは最大100件のbatchItemsにTomTomの形式(項目ごとのstatusCodeとresponse、そしてsummary)で一度に応答します。POST /search/2/batch.jsonは最大10,000件を受け付け、Locationヘッダー付きの202で応答し、結果はそこから取得します。TomTomの数え方と同じく各バッチ項目が1リクエストとして数えられます。割り当ての残りを超えるバッチはTomTomの429で全体が拒否され、保存された結果の取得は数えられません。
お使いのクライアントがここに記載されていないフィールドや動作に依存している場合は、お知らせください。互換性の差異はたいてい小さいため、すぐに修正されます。