Geoapifyの互換ホスト
Geoapifyのジオコーディングエンドポイントは、フラットなpropertiesオブジェクトを持つGeoJSONのFeatureCollectionを返します。geoapify.mygeocode.comもrankブロックとdatasourceブロックを含めて同じものを返し、さらにIP情報エンドポイントも備えています。
ホスト名を1つ変えるだけ
| 元のホスト |
|
|---|---|
| 代わりに使うホスト | geoapify.mygeocode.com |
| キーのパラメーター | apiKey(任意:どのアドレスでもキーなしで1日あたり2,500件のリクエストが使えます。クレジット、パッケージ、利用履歴を使うにはここにMy Geocodeのキーを入れてください) |
curl "https://api.geoapify.com/v1/geocode/search?text=Dam+1+Amsterdam&apiKey=YOUR_GEOAPIFY_KEY"curl "https://geoapify.mygeocode.com/v1/geocode/search?text=Dam+1+Amsterdam&apiKey=YOUR_MYGEOCODE_KEY"移行する理由
Geoapifyの無料プランは1日あたり3,000クレジットで、帰属表示が必要です。こちらはキーごとに1日あたり2,500件のリクエストで帰属表示は不要、有料利用にも使い切ってしまう月額プランの段階はありません。
キーの有無にかかわらず、無料枠は同じです。geoapify.mygeocode.comへのリクエストは、お使いのアドレスまたはキーが当社独自のエンドポイントで得ている1日あたり2,500件の無料リクエストと同じ枠から差し引かれます。それを超える分は、プリペイドクレジットで1リクエストあたり€0.0001、またはUnlimitedキーで月額€50です。登録に必要なのはメールアドレスだけです。
エンドポイント
| geoapify.mygeocode.comのパス | 機能 | バックエンド |
|---|---|---|
/v1/geocode/search?text=... | ジオコーディング | ジオコーディング |
/v1/geocode/reverse?lat=...&lon=... | 逆ジオコーディング | 逆ジオコーディング |
/v1/geocode/autocomplete?text=... | オートコンプリート | 住所オートコンプリート |
/v1/ipinfo?ip=... | IPジオロケーション | IPv4検索 |
レスポンスの例
上記のリクエストはこれを返します。フィールド名、入れ子構造、型はGeoapifyに準拠しています。その中身のデータだけが当社のものです。
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"datasource": { "sourcename": "mygeocode", "attribution": "My Geocode", "license": "https://www.mygeocode.com/terms/" },
"country": "Netherlands",
"country_code": "nl",
"state": "North Holland",
"city": "Amsterdam",
"postcode": "1012 JS",
"street": "Dam",
"housenumber": "1",
"lon": 4.893604,
"lat": 52.373119,
"formatted": "Dam 1, 1012 JS Amsterdam, Netherlands",
"address_line1": "Dam 1",
"address_line2": "1012 JS Amsterdam, Netherlands",
"result_type": "building",
"rank": { "importance": 0.41, "confidence": 1, "confidence_city_level": 1, "confidence_street_level": 1, "match_type": "full_match" },
"place_id": "mg.nl.addr.c21d40e8"
},
"geometry": { "type": "Point", "coordinates": [4.893604, 52.373119] },
"bbox": [4.893004, 52.372719, 4.894204, 52.373519]
}
],
"query": {
"text": "Dam 1 Amsterdam",
"parsed": { "housenumber": "1", "street": "dam", "city": "amsterdam", "expected_type": "building" }
}
}詳細と相違点
1日あたり最初の2,500件のリクエストにはキーは不要です。My Geocodeのキーを使う場合は、Geoapifyのキーがあった場所、つまりapiKeyクエリパラメーターに入れてください。X-API-Keyヘッダー、Authorization: Bearer、HTTP Basic認証(キーをユーザー名として使用)もすべてのホストで使えるため、独自の方法で認証するクライアントライブラリも変更なしで動作し続けます。
回答にはGeoapifyが返すフィールドだけが含まれるため、すでにGeoapifyを解析しているコードにレスポンスをそのまま渡せます。当社の追加データ(地表の標高、脅威情報、ネットワークの詳細)はリクエストに応じて利用できます:クエリにmg_extras=1を追加するか、X-MG-Extras: 1を送信してください。
レスポンス内の著作権表示、ライセンス名、利用規約とプライバシーのリンクは、元のプロバイダーのものではなく当社のものです。それ以外はすべて元の形式を保っています。
- IPエンドポイントはGeoapify独自のオブジェクト形式を返します。
- 一括ジオコーディングはGeoapifyと同じように動作します:最大1,000件のJSON配列を付けて
POST /v1/batch/geocode/searchまたは/reverseを送ると、ジョブのidとurlを含む202が返り、そのurlにGETすると各項目につき1行がquery付きで返ります。各アドレスが1リクエストとして数えられ、結果の取得は数えられません。
お使いのクライアントがここに記載されていないフィールドや動作に依存している場合は、お知らせください。互換性の差異はたいてい小さいため、すぐに修正されます。