使用可观察的地理坐标集合在 WP7 的 bing 地图上绘制路线

Posted

技术标签:

【中文标题】使用可观察的地理坐标集合在 WP7 的 bing 地图上绘制路线【英文标题】:ploting route on bing maps for WP7 using an observable collection of geocoordinates 【发布时间】:2011-04-25 06:53:47 【问题描述】:

您好,我正在开发一个应用程序来跟踪用户保存他们的位置并将结果保存到包含地理坐标的会话类的可观察集合中。

我的问题是现在我有一堆坐标我如何在(bing)地图上绘制一个可见的路线,即从每个坐标绘制到下一个坐标为 ma​​ny 即整个会话(不仅仅是 a 到 b)。

谢谢。

【问题讨论】:

【参考方案1】:

您可以使用以下 API:

MapPolyline polyline = new MapPolyline();
polyline.Stroke = stroke;
polyline.StrokeThickness = strokeThinkness;
polyline.Opacity = opacity;
polyline.Locations = locationsList;

MyMap.Children.Add(polyline);

locationList 在哪里:

var locationsList = new LocationCollection();
locationsList.Add(new GeoCoordinate(latitude1, longtitude1, altitude1));
locationsList.Add(new GeoCoordinate(latitude2, longtitude2, altitude2));
locationsList.Add(new GeoCoordinate(latitude3, longtitude3, altitude3));

其实,locationList 就是你的折线。

【讨论】:

是高度要求吗?,我有点希望使用带有地理坐标的普通可观察集合作为数组。 不,这不是必需的。 LocationCollection 继承自 ObservableCollection 并且它不是密封的。因此,您可以从 LocationCollection 继承您的类型并将其用作 ObservableCollection 的包装。【参考方案2】:

如果我是对的,此 API 可与 BingMaps silverlight 控件一起使用。这在 Bing Maps SOAP 服务中是否可行 http://msdn.microsoft.com/en-us/library/cc980922.aspx。我的应用程序只调用 SOAP 服务并下载生成的图像(没有 silverlight,没有 javascript),但我找不到任何使用 SOAP Web 服务在地图上呈现多边形的等效 API。

【讨论】:

以上是关于使用可观察的地理坐标集合在 WP7 的 bing 地图上绘制路线的主要内容,如果未能解决你的问题,请参考以下文章

在 WP7 的 bing 地图中保存特定位置

墨卡托投影地理坐标系地面分辨率地图比例尺Bing Maps Tile System

WP7,将服务引用添加到Visual Studio 2010后如何使用它

使用 Bing 地图 REST API 获取国家/地区代码

c# 地理坐标观察者不返回正确的坐标

我如何无法在 WP7 的全景视图中处理 selectionchange 事件?