MapLocationFinderResult上的凭证无效uwp c#

时间:2017-06-02 10:01:55

标签: c# xaml uwp windows-mobile uwp-maps

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

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

string address = ""; // Any address here

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

在此之后,我使用Laucher启动“开车到”应用程序并获取导航地图:

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中实现Map控件。但是,几天前我开始收到locFinderResult的“InvalidCredentials”响应。它仍然只适用于一个设备。我从来没有使用任何凭证,所以我不知道为什么它只适用于这个。

有谁知道什么可能导致这个问题?

2 个答案:

答案 0 :(得分:1)

从最近的某些时候开始,Microsoft要求您从Bing Maps Developers Center获取密钥才能使用此功能。请参阅说明:https://docs.microsoft.com/en-us/windows/uwp/maps-and-location/authentication-key

答案 1 :(得分:0)

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

MapService.ServiceToken = "MyKey";