0

はい、私はこれに非常に慣れていないので、Bing が提示したすべてのドキュメントを本当に理解することはできません。しかし、経度と緯度の 2 倍の (数値) 値がある場合、C# で最も近い場所を、できれば文字列として取得するにはどうすればよいでしょうか? 古いチュートリアルから MSRMaps でこれを行う方法はある程度知っていましたが、ここでこれを行う方法がまったくわかりません。

どうもありがとうございました!

編集: ここでこのチュートリアルを見つけました: http://msdn.microsoft.com/en-us/library/dd221354.aspx

そして、私はリバース ジオコード ビットを使用することにしました。これが得られたものです。

static void Main(string[] args)
    {
        string location;
        location = ReverseGeocodePoint("47.608, -122.337");
        Console.WriteLine(location);

    }



    static string ReverseGeocodePoint(string locationString)
    {
        string results = "";
        string key = "Aq4VS_9C4juJKsP7hRFqWlYj0Mpd_ybl2vOmj_J9rugPvptWiOEa3tCzmXWvzm9J";
        ReverseGeocodeRequest reverseGeocodeRequest = new ReverseGeocodeRequest();

        // Set the credentials using a valid Bing Maps key
        reverseGeocodeRequest.Credentials = new GeocodeService.Credentials();
        reverseGeocodeRequest.Credentials.ApplicationId = key;

        // Set the point to use to find a matching address
        GeocodeService.Location point = new GeocodeService.Location();
        string[] digits = locationString.Split(',');

        point.Latitude = double.Parse(digits[0].Trim());
        point.Longitude = double.Parse(digits[1].Trim());

        reverseGeocodeRequest.Location = point;

        // Make the reverse geocode request
        GeocodeServiceClient geocodeService = new GeocodeServiceClient();
        GeocodeResponse geocodeResponse = geocodeService.ReverseGeocode(reverseGeocodeRequest);

        if (geocodeResponse.Results.Length > 0)
        results = geocodeResponse.Results[0].DisplayName;
        else
        results = "No Results found";

        return results;
     }
 }

GeocodeServiceClient geocodeService = new GeocodeServiceClient(); でエラーが発生したのは私だけです。

発言: コントラクト 'GeocodeService.IGeocodeService' のエンドポイント構成セクションを読み込めませんでした。そのコントラクトの複数のエンドポイント構成が見つかったためです。優先エンドポイント構成セクションを名前で示してください。

これは私にとって何を意味するのでしょうか?

4

2 に答える 2

1

ここから始めてみてください。ジオコード サービス特に探しているのは、リバース ジオコーディングです。

MSDN の例のとおりです。

// Set a Bing Maps key before making a request
string key = "Bing Maps Key";

GeocodeService.ReverseGeocodeRequest reverseGeocodeRequest = new GeocodeService.ReverseGeocodeRequest();

// Set the credentials using a valid Bing Maps key
reverseGeocodeRequest.Credentials = new GeocodeService.Credentials();
reverseGeocodeRequest.Credentials.ApplicationId = key;

// Set the point to use to find a matching address
GeocodeService.Location point = new GeocodeService.Location();
point.Latitude = 47.608;
point.Longitude = -122.337;

reverseGeocodeRequest.Location = point;

// Make the reverse geocode request
GeocodeService.GeocodeServiceClient geocodeService =
new GeocodeService.GeocodeServiceClient("BasicHttpBinding_IGeocodeService");
GeocodeService.GeocodeResponse geocodeResponse = geocodeService.ReverseGeocode(reverseGeocodeRequest);

Results = geocodeResponse.Results[0].DisplayName;
于 2012-09-06T20:02:12.133 に答える
0

App.Config/web.configからエンドポイントの1つを削除する必要があります

オリジナル生成

<client>
            <endpoint address="http://dev.virtualearth.net/webservices/v1/geocodeservice/GeocodeService.svc"
                binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IGeocodeService"
                contract="Microsoft.Bing.GeocodeService.IGeocodeService" name="BasicHttpBinding_IGeocodeService" />
            <endpoint address="http://dev.virtualearth.net/webservices/v1/geocodeservice/GeocodeService.svc/binaryHttp"
                binding="customBinding" bindingConfiguration="CustomBinding_IGeocodeService"
                contract="Microsoft.Bing.GeocodeService.IGeocodeService" name="CustomBinding_IGeocodeService" />
        </client>

app.config / web.configからエンドポイント構成の1つを削除すると、コードは正常に機能します。

 <client>
            <endpoint address="http://dev.virtualearth.net/webservices/v1/geocodeservice/GeocodeService.svc"
                binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IGeocodeService"
                contract="Microsoft.Bing.GeocodeService.IGeocodeService" name="BasicHttpBinding_IGeocodeService" />
        </client>
于 2013-03-01T11:49:56.113 に答える