【问题标题】:Muliple Pushpins in Windows Phone 8.1Windows Phone 8.1 中的多个图钉
【发布时间】:2015-11-02 05:18:45
【问题描述】:

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

【问题讨论】:

  • 我真的被困在这一点上。请帮帮我

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


【解决方案1】:

您可以在没有 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>

在c#中绑定项在MapControl源码中

 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;
     }
}

【讨论】:

  • Source="{Binding image,Mode=OneWay}" 图像也指的是什么?
  • 我编辑我的代码并添加图像属性。此图像是您想要的图钉图标。
  • 感谢您的澄清!
  • 如果我的代码为您提供解决方案,请标记为已回答且有用!谢谢。
  • 感谢 Evilunclebill,您的回答也适用于我,尽管它非常合乎逻辑,但请为我的专属问题投票。
猜你喜欢
  • 1970-01-01
  • 2017-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多