Windows phone 8 我们应该如何使用Windows Phone 8在地图上绘制多段线?
我试图在这里的地图上画一条多段线,但找不到任何关于这个主题的教程或像样的文档 这是我到目前为止一直在做的事情 我直接在视图中创建地图:Windows phone 8 我们应该如何使用Windows Phone 8在地图上绘制多段线?,windows-phone-8,maps,here-api,polyline,Windows Phone 8,Maps,Here Api,Polyline,我试图在这里的地图上画一条多段线,但找不到任何关于这个主题的教程或像样的文档 这是我到目前为止一直在做的事情 我直接在视图中创建地图: <maps:Map x:Name="map2" Grid.Row="1" Margin="0,0,0,0" Loaded="HereMap_Loaded"/> 调用draw可执行以下操作: public void draw() { Microsoft.Phone.Maps.Controls.MapPolyline polyline = th
<maps:Map x:Name="map2" Grid.Row="1" Margin="0,0,0,0" Loaded="HereMap_Loaded"/>
调用draw可执行以下操作:
public void draw()
{
Microsoft.Phone.Maps.Controls.MapPolyline polyline = this.createPolylineFromArray(arrayOfGeoCoordinates);
polyline.StrokeThickness = 12;
polyline.StrokeColor = Color.FromArgb(255, 189, 179, 217);
MapOverlay overlay = new MapOverlay
{
Content = polyline
};
Microsoft.Phone.Maps.Controls.MapLayer layer = new Microsoft.Phone.Maps.Controls.MapLayer();
layer.Add(overlay);
map2.Layers.Add(layer);
}
我从地理坐标列表中创建多段线:
public Microsoft.Phone.Maps.Controls.MapPolyline createPolylineFromArray(List<GeoCoordinate> pArray)
{
if (pArray.Capacity > 1) {
GeoCoordinateCollection path = new GeoCoordinateCollection();
foreach (GeoCoordinate coordinate in pArray)
{
path.Add(coordinate);
}
Microsoft.Phone.Maps.Controls.MapPolyline polyline = new Microsoft.Phone.Maps.Controls.MapPolyline
{
Path = path
};
return polyline;
}
return null;
}
如上图所示,当我将圆覆盖替换为多段线时,它显示以下图片:
您完全可以看到地图,并且覆盖在屏幕的上边缘显示为文本行,显示覆盖类包名称
我错过了什么?我希望它能显示一条多段线,跟随地图的移动。你说得对,我认为地图和Bing地图的工作方式不同。这解决了我的问题,谢谢。
public Microsoft.Phone.Maps.Controls.MapPolyline createPolylineFromArray(List<GeoCoordinate> pArray)
{
if (pArray.Capacity > 1) {
GeoCoordinateCollection path = new GeoCoordinateCollection();
foreach (GeoCoordinate coordinate in pArray)
{
path.Add(coordinate);
}
Microsoft.Phone.Maps.Controls.MapPolyline polyline = new Microsoft.Phone.Maps.Controls.MapPolyline
{
Path = path
};
return polyline;
}
return null;
}
Content = new Ellipse
{
Fill = new SolidColorBrush(Colors.Red),
Width = 40,
Height = 40
}