绘制图钉在地图上在WinRT

本文关键字:WinRT 地图 绘制 | 更新日期: 2023-09-27 18:11:32

在使用XAML和c#的metro应用程序中,我需要在地图控件上绘制一些引脚。我发现了几个样本,它们都在文件后面的代码中绘制了pin(将pin作为孩子添加到地图控件中)。有其他的可能吗?(类似于Windows Phone)

绘制图钉在地图上在WinRT

您可以创建一个派生自ItemsControl的自定义控件。它将监视对ViewModel中后备ObservableCollection的更改。然后,你可以在其中添加/减去引脚。

注意:这并不一定是一个简单的任务。有些公司为了盈利而创建复杂的控制是有原因的,而这当然是一个更复杂的原因。这几乎不是不可能的,但它需要一些工作来完成,更不用说成功了。

要开始,很可能需要:

  • 某种背景地图图像
  • 将Pin中的坐标转换为地图图像上的(x,y)像素坐标的能力

你很可能需要重写:

  • MeasureOverride:找出地图需要多少空间
  • ArrangeOverride:找出当前所有子进程的位置
  • OnDisconnectVisualChildren:当你删除一个引脚时该怎么办
  • PrepareContainerForItemOverride:为添加/删除的项目创建一个项目容器

然后你可以继续添加像childtransitions这样的东西(这样它们就会"弹出")。

然后,你所需要做的就是设置你的VM,加载你的引脚,然后你就可以开始比赛了。

编码好!