Windows Phone 8.1中的Muliple Pushpins

时间:2015-11-02 05:18:45

标签: c# windows-phone-8.1 winrt-xaml bing-maps

我正在使用MapControl来显示地图。我也有MapServiceToken。我使用MapIcon添加了自定义图钉,并将此对象分配给Map。它工作正常。 但是当我尝试使用相同的场景添加多个图钉并将其分配给地图时,我将在地图上获得最后一个图钉。其他其他图钉无法看到。 请告诉我这个问题的任何简单解决方案。谢谢

1 个答案:

答案 0 :(得分:2)

您可以在没有MapIcon的地图上绑定图钉。

添加xaml

<Maps:MapControl x:Name="MapLocationsControl" MapServiceToken="add your token here">
        <Maps:MapItemsControl x:Name="mapitem">
            <Maps:MapItemsControl.ItemTemplate>
                <DataTemplate>

                        <Image Height="50" Width="50"
                               Source="{Binding image,Mode=OneWay}"
                       Maps:MapControl.Location="{Binding Geopoint}"/>

                </DataTemplate>
            </Maps:MapItemsControl.ItemTemplate>
        </Maps:MapItemsControl>
    </Maps:MapControl>

在MapControl源中的c#绑定项

 mapitem.ItemsSource = items;

其中items是使用MapItems类项目的可观察集合。您可以使用Add()添加项目。

ObservableCollection<MapItem> items = new ObservableCollection<MapItem>();

items.Add(new MapItem(lat,lng, "Assets/pushpinicon.png"));

MapItem类就像这样

public class MapItem {

public Geopoint Geopoint { get; set; }

public string image {get; set;}

    public MapItem(double lat , double lng , string img)
    {

        Geopoint = new Geopoint(new BasicGeoposition() { Latitude = lat, Longitude = lng });

        image=img;
     }
}