Windows phone 8 获取使用诺基亚地图显示的点集合时出现问题
我正在使用Windows Phone 8中的诺基亚地图控件。这是我目前拥有的代码(仅限相关部分) C#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列表,都不会在地图上显示任何点。我继续使用
公共可观察收集项目位置
{
得到
{
返回新的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>