Bing Maps RESTサービスの互換ホスト
MicrosoftはBing Maps for Enterpriseの提供を終了します。無料キーとベーシックキーは2025年6月30日に使えなくなり、エンタープライズ契約は2028年6月30日に終了します。Locations、Autosuggest、Time Zone、ElevationのRESTサービスを使ったコードがある場合は、接続先をbing.mygeocode.comに向ければ、同じレスポンス解析処理をそのまま使えます。
ホスト名を1つ変えるだけ
| 元のホスト |
|
|---|---|
| 代わりに使うホスト | bing.mygeocode.com |
| キーのパラメーター | key(任意:どのアドレスでもキーなしで1日あたり2,500件のリクエストが使えます。クレジット、パッケージ、利用履歴を使うにはここにMy Geocodeのキーを入れてください) |
curl "https://dev.virtualearth.net/REST/v1/Locations?q=1%20Microsoft%20Way%2C%20Redmond%2C%20WA&key=YOUR_BING_KEY"curl "https://bing.mygeocode.com/REST/v1/Locations?q=1%20Microsoft%20Way%2C%20Redmond%2C%20WA&key=YOUR_MYGEOCODE_KEY"移行する理由
Bingのエンドポイントは決められたスケジュールで廃止されます。Azure Mapsに移行すると、新しいレスポンス形式と新しいクライアントコードが必要になります。ホスト名を1つ変えるだけなら、その必要はありません。
キーの有無にかかわらず、無料枠は同じです。bing.mygeocode.comへのリクエストは、お使いのアドレスまたはキーが当社独自のエンドポイントで得ている1日あたり2,500件の無料リクエストと同じ枠から差し引かれます。それを超える分は、プリペイドクレジットで1リクエストあたり€0.0001、またはUnlimitedキーで月額€50です。登録に必要なのはメールアドレスだけです。
エンドポイント
| bing.mygeocode.comのパス | 機能 | バックエンド |
|---|---|---|
/REST/v1/Locations?q=... | クエリで場所を検索 | ジオコーディング |
/REST/v1/Locations?countryRegion=...&locality=...&addressLine=... | 構造化住所で場所を検索 | ジオコーディング |
/REST/v1/Locations/{lat},{lon} | 地点で場所を検索(逆ジオコーディング) | 逆ジオコーディング |
/REST/v1/Autosuggest?query=... | オートサジェスト | 住所オートコンプリート |
/REST/v1/TimeZone/{lat},{lon} | 地点からタイムゾーンを取得 | タイムゾーン検索 |
/REST/v1/Elevation/List?points=lat,lon,lat,lon | 地点リストの標高 | 標高検索 |
レスポンスの例
上記のリクエストはこれを返します。フィールド名、入れ子構造、型はBing Mapsに準拠しています。その中身のデータだけが当社のものです。
{
"authenticationResultCode": "ValidCredentials",
"brandLogoUri": "https://www.mygeocode.com/assets/img/logo.svg",
"copyright": "Copyright My Geocode",
"resourceSets": [
{
"estimatedTotal": 1,
"resources": [
{
"__type": "Location:http://schemas.microsoft.com/search/local/ws/rest/v1",
"bbox": [47.635742, -122.140518, 47.643468, -122.125237],
"name": "1 Microsoft Way, Redmond, WA 98052",
"point": { "type": "Point", "coordinates": [47.639605, -122.129877] },
"address": {
"addressLine": "1 Microsoft Way",
"adminDistrict": "WA",
"adminDistrict2": "King County",
"countryRegion": "United States",
"formattedAddress": "1 Microsoft Way, Redmond, WA 98052",
"locality": "Redmond",
"postalCode": "98052"
},
"confidence": "High",
"entityType": "Address",
"geocodePoints": [
{ "type": "Point", "coordinates": [47.639605, -122.129877], "calculationMethod": "Rooftop", "usageTypes": ["Display"] }
],
"matchCodes": ["Good"]
}
]
}
],
"statusCode": 200,
"statusDescription": "OK",
"traceId": "mg-7f2a9c1e4b"
}詳細と相違点
1日あたり最初の2,500件のリクエストにはキーは不要です。My Geocodeのキーを使う場合は、Bing Mapsのキーがあった場所、つまりkeyクエリパラメーターに入れてください。X-API-Keyヘッダー、Authorization: Bearer、HTTP Basic認証(キーをユーザー名として使用)もすべてのホストで使えるため、独自の方法で認証するクライアントライブラリも変更なしで動作し続けます。
レスポンス内の著作権表示、ライセンス名、利用規約とプライバシーのリンクは、元のプロバイダーのものではなく当社のものです。それ以外はすべて元の形式を保っています。
- 標高のリクエストでは、地点をクエリ文字列、フォーム本文、またはBingが文書化している
text/plain本文で受け付けます。 Elevation/SeaLevelは404を返します。ここでの高さはすでに平均海面からの値なので、適用すべきジオイドのオフセットはありません。- タイムゾーンの回答には
dstRuleオブジェクトが含まれ、ルールはタイムゾーンデータベースと同じ書き方(Sun>=8、lastSun)で、調整量は分単位で記載されます。 estimatedTotalは、Bingと同様にセット内のリソース数を数えます。TimeZone?query=には緯度と経度の組を指定します。- Elevation List、Polyline、Boundsは、Bingと同様に最大1,024地点まで受け付けます。ここでは各地点が1リクエストとして数えられます。
お使いのクライアントがここに記載されていないフィールドや動作に依存している場合は、お知らせください。互換性の差異はたいてい小さいため、すぐに修正されます。