2016-12-28 9 views
0

特定の住所のジオコード位置を取得する方法がC#に​​あります。それは時間の99%を稼ぎます。私は興味深い状況に遭遇し、誰かが同様の状況に遭遇したことを望んでいる。私は、BINGフォーラムや開発リソースを通じて同様の問題を発見することができませんでした。この特定の状況のた​​めBING Maps APIロストジオコード

WebClient client = new WebClient(); 
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); 

Stream data = client.OpenRead(uri); 
StreamReader reader = new StreamReader(data); 
string s = reader.ReadToEnd(); 

// Doing some magic with the response object here 

URIは次のとおりです。

http://dev.virtualearth.net/REST/v1/Locations?q=285%20Annshelia%20Dr,%20Keswick%20ON&key=<LIVEKEY> 

我々は、サーバーから取得しているという応答は次のとおりです。

{"authenticationResultCode":"ValidCredentials","brandLogoUri":"http:\/\/dev.virtualearth.net\/Branding\/logo_powered_by.png","copyright":"Copyright © 2016 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.","resourceSets":[{"estimatedTotal":0,"resources":[]}],"statusCode":200,"statusDescription":"OK","traceId":"<THE_TRACE>"} 

X-」に設定された何のHTMLヘッダはありませんMS-BM-WS-INFO "のように、オーバーロードの問題ではなく、エンタープライズキーを持っています。

Bing Maps websiteに行き、285 Annshelia Dr、Keswick ON L4P 3A6のアドレスを検索すると、適切なジオコード位置が得られます。

私はジオコードを頼むと、これがなぜ私に空白の目を与えているのか、誰にも分かりますか?

+0

愚かな質問ですが、%2CにあなたのURLのコンマをURLエンコードしようとしましたか?コンマでの追加は、charではなくURLの区切り文字として見ることができます。 –

+0

ありがとうライアン! URIを作成するときにHttpUtility.UrlEncode(アドレス)をString.Format()に追加しても、私はまだ同じ応答を得ています。 – AngieLeigh

答えて

0

問題が見つかりました - それは通りの名前のスペルミスでした。

3

私はこれを調べました。問題は現時点では予想される。 Bing MapsのWebサイトでは、現在、新しいデータセットを持つ新しいバックエンドジオコーダが使用されています。この新しいジオコーダは品質管理テストを行っており、Bing Mapsチームはこの新しいジオコーダのテストサイトとしてBing Maps Webサイトを使用しています。 Bing MapsデベロッパーAPIは、数ヶ月後に品質管理テストが完了すると、バックエンドで更新されます。

+0

ジオコードの場所をAPIに頼っているのであれば、あまりできることはありませんか? – AngieLeigh

+0

Bingが現在QAにあるライブデータ用の開発データセットを使用しているのは奇妙です。私たちのためにこれを見てくれてありがとう!ほんとうにありがとう。 – AngieLeigh

+1

データセットは開発データセットではありません。それは単により最新のデータセットです。古いジオコーダーはデータの更新に数週間かかりますが、新しいプラットフォームをほとんど即座に更新することができます。したがって、新しいデータは新しいジオコーダーにのみ存在します。また、過去に報告されたジオコーダの問題の大部分が解決されたことを確認するのに役立ちます。数か月後に開発者APIを新しいジオコーダに更新するだけです。 – rbrundritt