【问题标题】:Xamarin Forms Maps - Custom Pin ImagesXamarin Forms Maps - 自定义 Pin 图像
【发布时间】:2017-10-06 22:41:03
【问题描述】:

有没有办法更改 Xamarin Forms Maps 中引脚的图像。我想将图钉制作成自定义图像,如果必须在本地完成,有人可以给我一个简单的例子。谢谢。

【问题讨论】:

标签: xamarin.forms


【解决方案1】:

对于后来的任何人,现在 Xamarin Forms 都很好地支持了这一点。

本质上,您需要在 PCL 或从 Xamarin Forms Map 继承的共享代码中创建自定义地图类,然后在每个平台的项目中创建自定义渲染器。

这些自定义渲染器对于每个平台都会有所不同,处理渲染图标的细节以及当您单击该特定平台的该引脚时显示的任何弹出信息。您不必为所有平台创建自定义渲染器,因为您没有创建法线贴图。

这一切现在都在Custom Renderers | Customizing a Map section of the Xamarin Forms Developers Guide 中得到了很好的记录。该文档介绍了如何为 Android、iOS 和 UWP 创建自定义渲染器,并详细解释了所需的代码。太多了,这里就不重复了。还有一个accompanying sample solution here

值得注意的一点是,如果您尝试在自己的项目中重现该代码,您还需要将图像添加到 ProjectName\Droid\Resources 目录下的各种可绘制文件夹中,以及两个 axml 文件布局目录。

【讨论】:

    【解决方案2】:

    显然,这已被完全锁定,您必须查看自定义渲染器才能实现您所需要的。

    在以下链接上有关于此的讨论:-

    http://forums.xamarin.com/discussion/17916/customization-of-xamarin-forms-maps-pins

    ,具体参考以下链接中的一个项目,该项目有人从 Assets 文件夹中实现了自定义图像引脚:-

    https://github.com/paulpatarinski/ShouldIWashMyCar/blob/master/Android/Renderers/MapViewRenderer.cs

    我还没有尝试过,但是在寻求自定义地图渲染时,这可能是一个不错的起点。

    【讨论】:

    • 它不适用于 ios 自定义渲染,因为 Xamarin.Forms.Maps.iOS.MapRenderer 由于其保护级别而无法访问。所以我试图通过 ViewRenderer 来做,但我不知道该怎么做。你能帮我吗?谢谢
    • 如果您可以提供您目前拥有的代码,我也许可以在周末访问我的 Mac 时查看它以进一步查看。
    【解决方案3】:

    这个项目可能对你有帮助。 raechten/BindableMapTest

    来自描述:

    用于将集合绑定到 Xamarin Forms Maps 引脚的小示例 (在支持直接绑定到 Pins 属性之前有效 直接由 Xamarin Forms 提供)。

    包括自定义和可点击的图钉。

    它有 Android 和 iOS 实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-29
      • 1970-01-01
      • 2020-10-23
      • 2017-05-29
      • 1970-01-01
      • 2021-06-03
      相关资源
      最近更新 更多