MapLocationFinderResult uwp c# 上的凭据无效

Invalid Credentials on MapLocationFinderResult uwp c#

我在使用 MapLocationFinder 时遇到一个奇怪的问题。

我正在使用 MapLocationFinder 根据字符串地址检索经度和纬度:

string address = ""; // Any address here

var locFinderResult = await MapLocationFinder.FindLocationsAsync(address, new Geopoint(new BasicGeoposition()));

在此之后,我使用 Laucher 启动 "drive to" 应用程序并获取导航地图:

var geoPos = locFinderResult.Locations[0].Point.Position;

var url = $"ms-drive-to:?destination.latitude={geoPos.Latitude.ToString(CultureInfo.InvariantCulture)}&destination.longitude={geoPos.Longitude.ToString(CultureInfo.InvariantCulture)}&destination.name={address}";
var driveToUri = new Uri(url);

await Launcher.LaunchUriAsync(driveToUri);

直到最近,这在所有设备上都运行良好。我不需要任何令牌或任何东西,因为我没有在 XAML 中实现地图控制。但是,几天前我开始收到 "InvalidCredentials" locFinderResult 的响应。它仍然只适用于一台设备。我从来没有使用过任何凭据,所以我不知道为什么它只适用于这个。

有谁知道是什么导致了这个问题?

最近一段时间,Microsoft 似乎要求您从 Bing 地图开发人员中心获取密钥才能使用此功能。看,说明:https://docs.microsoft.com/en-us/windows/uwp/maps-and-location/authentication-key

转到 https://www.bingmapsportal.com 并创建一个密钥。然后将其添加到您的应用中。

MapService.ServiceToken = "MyKey";