我使用一个简单的方法,为我返回地图位置,但我想只获得英文地址。
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";
但它似乎不工作…
我怎么能得到本地化字符串从这个方法?
MapLocationFinder。FindLocationsAtAsync方法现在没有提供一种机制来指定返回地址中使用的语言。它总是自动使用Windows显示语言。在大多数情况下,街道和城镇都是根据当地文化本土化的。例如,如果您请求法国的位置,则街道名称将用法语本地化。
作为一种解决方法,我们可以使用Bing Maps REST服务,它提供了可以指定文化参数的REST api。对于FindLocationsAtAsync
方法,我们可以使用如下方式查找位置:
http://dev.virtualearth.net/REST/v1/Locations/47.64054,-122.12934?c=en-US&key=BingMapsKey
同时,欢迎您在WPDev用户语音上提交功能请求以请求此功能。