首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们可以在Map.Pins中添加没有收藏的Pins吗?

我们可以在Map.Pins中添加没有收藏的Pins吗?
EN

Stack Overflow用户
提问于 2022-06-15 16:33:18
回答 1查看 21关注 0票数 0

我有一个使用Xamarin.Essentials‘Xamarin.Maps的Xamarin项目。我有一个包含实体的IObservableCollection,我在XAML视图/页面中绑定到了地图上,但我也想手动地向该地图添加一个不在集合中的Pin。可以这样做吗?或者我应该放弃XAML绑定,手动处理Map.Pins吗?

MyPage.xaml

代码语言:javascript
复制
...
<maps:Map x:Name="MyMap" FlexLayout.Grow="1" ItemsSource="{Binding Churrerxs}">
    <maps:Map.ItemTemplate>
        <DataTemplate>
             <maps:Pin x:DataType="model:MyModel" Position="{Binding PositionAttr}" Label="{Binding NameAttr}" />
                    </DataTemplate>
                </maps:Map.ItemTemplate>
            </maps:Map>
...

我尝试在MyMap的定义中添加以下内容,但很明显,它不起作用:

代码语言:javascript
复制
<maps:Map.Pins>
    <maps:Pin Position="{Binding MyPosition}" Label="MyPin" />
</maps:Map.Pins>

我还尝试在页面的构造函数上创建一个Pin,并添加一个处理程序,当MyPosition发生如下变化时执行该处理程序:

代码语言:javascript
复制
if(_viewModel.MyPosition != null)
{
    MyPin.Position = _viewModel.MyPosition;
    if (!MyMap.Pins.Contains(MyPin))
    {
        MyMap.Pins.Add(MyPin);
    }
}

但是,由于Pins已经被XAML中的ItemTemplate操作,我已经陷入了手动添加引脚的竞争状态,但很快它就被删除了。

所以,我在努力想办法最好地处理这件事。我希望Map可以有多个Pins数组,所以我们可以为不同的集合使用绑定,但情况似乎并非如此。我在想:( a)我应该手动处理这个集合,或者( b)我应该通过绘制一个独立于Pins数组的圆或其他图形来显示MyPosition,而不是Pin。但是,如果有人知道处理这类场景的适当模式,我会给出建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-15 16:33:18

实际上,最简单的解决方案是在视图/页面中定义一个readonly Circle MyCircle,在它的构造函数中填充一个new Circle { Center = new Position(), Radius = Distance.FromMeters(10) },然后在它的构造函数中填充一个new Circle { Center = new Position(), Radius = Distance.FromMeters(10) },然后在它发生更改时简单地更新它的位置(注意:我只在实际获得了一个位置之后才将它添加到地图中,否则就不可能绘制)。

代码语言:javascript
复制
if(_viewModel.MyPosition != null)
{
    MyCircle.Center = _viewModel.MyPosition;
    if (!MyMap.MapElements.Contains(MyCircle))
    {
        MyMap.MapElements.Add(MyCircle);
    }
}

这是留给读者的一个练习,如果需要的话,如何处理输入(我不需要与圆圈交互,只需显示)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72634876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档