任何人都知道,如何在 Windows Phone 8 或 Windows Phone 7 中获取 MAP 路由的中间点?
我已经搜索但没有找到提供路线中间点的 MAP API。MAP API 仅提供如何在两点之间查找路线。
例如有一条从 A 到 B 的路线。我想知道那条路线的中间点在哪里。
任何人都知道,如何在 Windows Phone 8 或 Windows Phone 7 中获取 MAP 路由的中间点?
我已经搜索但没有找到提供路线中间点的 MAP API。MAP API 仅提供如何在两点之间查找路线。
例如有一条从 A 到 B 的路线。我想知道那条路线的中间点在哪里。
这个有可能。Windows Phone 8 API 确实有办法实现您的要求。本质上,您可以获得路线中的每个机动,即每个转弯、掉头、合并等。您还可以获得每个机动的文本说明。
下面是RouteQuery
完成的事件处理程序。
事件处理程序循环遍历每个RouteManuever
. 你可以找到这个集合的中间元素,并认为它是你的中间点。
完整文档: http: //msdn.microsoft.com/en-us/library/windowsphone/develop/jj244363 (v=vs.105).aspx
下面的示例事件处理程序:
void MyQuery_QueryCompleted(object sender, QueryCompletedEventArgs<Route> e)
{
if (e.Error == null)
{
// Add the route to the map... Sounds like you already got this part working.
Route MyRoute = e.Result;
MapRoute MyMapRoute = new MapRoute(MyRoute);
MyMap.AddRoute(MyMapRoute);
// Now loop through the route maneuvers.
List<string> RouteList = new List<string>();
foreach (RouteLeg leg in MyRoute.Legs)
{
foreach (RouteManeuver maneuver in leg.Maneuvers)
{
RouteList.Add(maneuver.InstructionText);
}
}
RouteLLS.ItemsSource = RouteList;
MyQuery.Dispose();
}
}