Windows phone 8 获取使用诺基亚地图显示的点集合时出现问题

Windows phone 8 获取使用诺基亚地图显示的点集合时出现问题,windows-phone-8,here-api,Windows Phone 8,Here Api,我正在使用Windows Phone 8中的诺基亚地图控件。这是我目前拥有的代码(仅限相关部分) C# 公共可观察收集项目位置 { 得到 { 返回新的ObservableCollection() { 新位置ViewModel() { Display=“MVVM测试”, 位置=新地理坐标(43.07441,-88.25609) } }; } } XAML: 现在,当地图页面加载时,它会以正确的位置为中心,但是,无论我如何处理ItemLocations列表,都不会在地图上显示任何点。我继续使用

我正在使用Windows Phone 8中的诺基亚地图控件。这是我目前拥有的代码(仅限相关部分)

C#

公共可观察收集项目位置
{
得到
{
返回新的ObservableCollection()
{
新位置ViewModel()
{
Display=“MVVM测试”,
位置=新地理坐标(43.07441,-88.25609)
}
};
}
}
XAML:


现在,当地图页面加载时,它会以正确的位置为中心,但是,无论我如何处理ItemLocations列表,都不会在地图上显示任何点。我继续使用一些静态点静态定义了maptk:MapItemsControl.Items,它工作正常,只有在尝试绑定(如上所示)时它才会失败

解决方案是将Caliburn Micro用于MVVM。正如上面的示例所示,我在ViewModel中硬编码了位置列表,但从未调用get,这对我来说很神秘。如果我只将图钉定义为MapExtensions.children的子对象,它就可以工作了

我开始怀疑ItemsSource是否是不可绑定的,但我觉得这太荒谬了。请帮忙


提前谢谢

我和你有同样的问题,我花了一些时间来解决。检查这个,也许这个也会对你有所帮助。

非常好-我在那页上也给了你投票支持
public ObservableCollection<LocationViewModel> ItemLocations
    {
        get
        {
            return new ObservableCollection<LocationViewModel>()
                {
                    new LocationViewModel()
                        {
                            Display = "MVVM Test",
                            Location = new GeoCoordinate(43.07441, -88.25609)
                        }
                };
        }
    }
<maps:Map Center="{Binding MapCenter, Mode=TwoWay}"
              ZoomLevel="{Binding ZoomLevel}">
        <maptk:MapExtensions.Children>
            <maptk:MapItemsControl ItemsSource="{Binding Path=ItemLocations}">
                <maptk:MapItemsControl.ItemTemplate>
                    <DataTemplate>
                        <maptk:Pushpin GeoCoordinate="{Binding Location}" Content="{Binding Display}" />
                    </DataTemplate>
                </maptk:MapItemsControl.ItemTemplate>
            </maptk:MapItemsControl>
        </maptk:MapExtensions.Children>
    </maps:Map>