如何以编程方式添加PushPin,是否可以使其具有自定义图像?
我正在尝试创建一个地图应用程序,但我找到的示例描述了myMap.Children
列表,我的myMap
对象没有:-(
我已经创建了一张地图,非常简单:
那么我怎样才能在C#中添加PushPins,这些是否可以从Assets
获得图像?
请参阅诺基亚地图教程“ 将图形添加到地图控件 ”或查看MSDN的“ 如何将UIElements添加到Windows Phone 8中的地图控件 ”。
它主要是围绕它添加你自己的MapLayer和多个MapOverlay:
private void DrawMapMarkers() { MyMap.Layers.Clear(); MapLayer mapLayer = new MapLayer(); // Draw marker for current position if (MyCoordinate != null) { DrawAccuracyRadius(mapLayer); DrawMapMarker(MyCoordinate, Colors.Red, mapLayer); } ... MyMap.Layers.Add(mapLayer); } private void DrawMapMarker(GeoCoordinate coordinate, Color color, MapLayer mapLayer) { // Create a map marker Polygon polygon = new Polygon(); polygon.Points.Add(new Point(0, 0)); polygon.Points.Add(new Point(0, 75)); polygon.Points.Add(new Point(25, 0)); polygon.Fill = new SolidColorBrush(color); // Enable marker to be tapped for location information polygon.Tag = new GeoCoordinate(coordinate.Latitude, coordinate.Longitude); polygon.MouseLeftButtonUp += new MouseButtonEventHandler(Marker_Click); // Create a MapOverlay and add marker MapOverlay overlay = new MapOverlay(); overlay.Content = polygon; overlay.GeoCoordinate = new GeoCoordinate(coordinate.Latitude, coordinate.Longitude); overlay.PositionOrigin = new Point(0.0, 1.0); mapLayer.Add(overlay); }
为了对新的WP8诺基亚地图控件进行数据绑定,请使用新Windows Phone Toolkit中的 MapExtensions。 例如,这里是如何使用MapExtensions在特定的GeoCoordinate中创建PushPin。