0

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

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

4

2 回答 2

1

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

于 2017-06-02T11:51:16.380 回答
1

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

MapService.ServiceToken = "MyKey";
于 2017-11-29T09:21:49.173 回答