Wir haben eine Methode in C#, um den Geocode-Speicherort für bestimmte Adressen zu erhalten. Es funktioniert gut 99% der Zeit. Ich bin in eine interessante Situation gerannt und hoffe, dass jemand in eine ähnliche Situation gerannt ist. Ich konnte kein ähnliches Problem im BING-Forum oder durch ihre Entwicklungsressourcen finden.BING Maps API verloren Geocode
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
Der URI für diese spezifische Situation ist:
http://dev.virtualearth.net/REST/v1/Locations?q=285%20Annshelia%20Dr,%20Keswick%20ON&key=<LIVEKEY>
Die Antwort, die wir vom Server bekommen ist:
{"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>"}
Es ist kein HTML-Header für „X gesetzt MS-BM-WS-INFO "so ist es kein Überlastungsproblem und wir haben einen Unternehmensschlüssel.
Der Teil, der mich interessiert, ist, wie wenn wir gehen auf die Bing Maps website und suchen Sie nach der Adresse von 285 Annshelia Dr, Keswick ON L4P 3A6, erhalten wir einen richtigen Geocode Ort.
Kann jemand etwas Licht darauf werfen, warum dies mir einen leeren Blick geben würde, wenn ich nach den Geocodes frage?
Dumme Frage, aber haben Sie versucht, URL das Komma in Ihrer URI zu% 2C zu kodieren? Manchmal kann das Hinzufügen eines Kommas als Trennzeichen in einer URL anstelle des Zeichens angezeigt werden. –
Danke Ryan! Selbst wenn ich die HttpUtility.UrlEncode (Adresse) in die String.Format() beim Erstellen der URI einfüge, bekomme ich immer noch die gleiche Antwort. – AngieLeigh