1
    public async void MakeRequest(string requestUrl)
    {
        try
        {
            HttpWebRequest request = WebRequest.Create(requestUrl) as HttpWebRequest;
            using (HttpWebResponse response = await request.GetResponseAsync() as HttpWebResponse)
            {
                if (response.StatusCode != HttpStatusCode.OK)
                    throw new Exception(string.Format(
                    "Server error(HTTP {0}:{1}.",
                    response.StatusCode,
                    response.StatusDescription));
                DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(RootObject));
                object objResponse = jsonSerializer.ReadObject(response.GetResponseStream());
                root = (RootObject)objResponse;

                if (root == null)
                    this.Frame.Navigate(typeof(MainPage));
            }
        }
        catch (Exception ex)
        {
            ThrowException(ex);
        }
    }

リンク:http ://dev.virtualearth.net/REST/V1/Routes?wp.0 = 39.920829,32.853883&wp.1 = 39.877666,32.864728&key = BingMapsKey

上記のコードに何か問題がありますか?

4

2 に答える 2

5

XML形式ではなくJSONでクエリを作成するには、この行を変更するだけです

だからこれから...

string query = "http://dev.virtualearth.net/REST/v1/Locations/" +         
               queryString + "?output=xml" + " &key=" + BingMapsKey;

これに...

string query = "http://dev.virtualearth.net/REST/v1/Locations/" +
               queryString + "?output=json" + " &key=" + BingMapsKey;

つまりoutput=xmloutput=json

于 2013-03-07T22:02:51.060 に答える
0

このコードはRootObject、コード内の undefined を、@ rbundritt が他の投稿で使用することを提案したBing Maps REST Service .NET LibrariesBingMapsRESTService.Common.JSON.Responseにあるタイプに置き換えると、うまく機能します。

于 2012-09-01T21:29:58.090 に答える