您好我在WPF应用中使用Bing地图
我的页面包含地图。
我页面的dataContext包含Place这些地方有GeoLocation的列表:
public class GeoCoordinate
{
public double latitude { get; set; }
public double longitude { get; set; }
public double altitude { get; set; }
}
public class Place
{
[...]
public GeoCoordinate position { get; set; }
}
public class datacontext
{
[...]
public List<Place> places { get; set; }
}
我想绑定我的列表,在我的地图上为每个位置的坐标制作图钉。 我尝试使用Map.Children属性但没有成功......
答案 0 :(得分:3)
好的,我在xaml中找到了它,我使用了MapItemsControl属性:
<m:Map x:Name="myMap" CredentialsProvider="blabla" ZoomLevel="12" Mode="Road">
<m:MapItemsControl ItemsSource="{Binding places}">
<m:MapItemsControl.ItemTemplate>
<DataTemplate>
<m:Pushpin Location="{Binding position.location}"/>
</DataTemplate>
</m:MapItemsControl.ItemTemplate>
</m:MapItemsControl>
</m:Map>
我在GeoCoordinate类中添加了location属性:
public class GeoCoordinate
{
public double latitude { get; set; }
public double longitude { get; set; }
public double altitude { get; set; }
public Location location { get { return new Location(latitude, longitude, altitude); } }
}
答案 1 :(得分:2)
我建议您查看MSDN上的“入门”部分,以便了解使用特定和专用类的基础知识:http://msdn.microsoft.com/en-us/library/hh830431.aspx
要在地图控件上添加图钉元素,您需要使用Pushpin
类,请参阅:
http://msdn.microsoft.com/en-us/library/microsoft.maps.mapcontrol.wpf.pushpin.aspx
在使用中它是这样的:
// The pushpin to add to the map.
Pushpin pin = new Pushpin();
pin.Location = pinLocation;
// Adds the pushpin to the map.
myMap.Children.Add(pin);
有关如何开始使用图钉的更多信息: http://msdn.microsoft.com/en-us/library/hh709044.aspx