1

地図の場所を返す簡単な方法を使用していますが、その住所を英語でのみ取得したいと考えています。

public static async Task<MapLocation> ResolveLocationForGeopoint(Geopoint geopoint)
{
    MapLocationFinderResult result = await MapLocationFinder.FindLocationsAtAsync(geopoint);

    if (result.Status == MapLocationFinderStatus.Success)
    {
        if (result.Locations.Count != 0)
            // Check if the result is really valid
            if (result.Locations[0].Address.Town != "")
                return result.Locations[0];
    }
    return null;
}

私の問題は次のとおりです。私の Windows 言語がロシア語の場合、キリル文字が返されます。

アプリケーション言語をオーバーライドしようとしました:

ApplicationLanguages.PrimaryLanguageOverride = "en";

しかし、それはうまくいかないようです...

このメソッドからローカライズされた文字列を取得するにはどうすればよいですか?

4

1 に答える 1

1

MapLocationFinder.FindLocationsAtAsyncメソッドは、現在、返されるアドレスで使用される言語を指定するメカニズムを提供していません。常に自動的に Windows 表示言語が使用されます。そしてほとんどの場合、ストリートタウンはその地域の文化に合わせてローカライズされています。たとえば、フランスの場所をリクエストした場合、通りの名前はフランス語にローカライズされます。

回避策として、Culture Parameterを指定できる REST API を提供するBing Maps REST Servicesを使用できます。メソッドについては、次のようにポイントによる場所の検索を使用できます。FindLocationsAtAsync

http://dev.virtualearth.net/REST/v1/Locations/47.64054,-122.12934?c=en-US&key=BingMapsKey

また、WPDev User Voiceで機能リクエストを送信して、この機能を求めることもできます。

于 2016-10-07T09:31:49.990 に答える