我正在使用一个简单的方法为我返回地图位置,但我想用英文获取该地址。
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语言是俄语时,它会返回cirillic字符。
我试图覆盖应用程序语言:
ApplicationLanguages.PrimaryLanguageOverride = "en";
但似乎它不起作用......
我如何从此方法获取本地化字符串?
答案 0 :(得分:1)
MapLocationFinder.FindLocationsAtAsync方法现在没有提供指定返回地址中使用的语言的机制。它始终自动使用Windows显示语言。在大多数情况下,Street和Town已本地化为其本地文化。例如,如果您在法国申请某个地点,则街道名称将以法语进行本地化。
作为一种解决方法,我们可以使用Bing Maps REST Services提供可以指定Culture Parameter的REST API。对于FindLocationsAtAsync
方法,我们可以使用Find a Location by Point,如下所示:
http://dev.virtualearth.net/REST/v1/Locations/47.64054,-122.12934?c=en-US&key=BingMapsKey
另外,欢迎您在WPDev User Voice上提交功能请求以询问此功能。