【问题标题】:How can I change and marker/pin icon on custom map using XamarinFormsMaps?如何使用 Xamarin Forms Maps 在自定义地图上更改和标记/固定图标?
【发布时间】:2021-05-09 05:58:41
【问题描述】:

我需要自定义我的图钉/标记,我已经添加了所有需要它的渲染器和类,但我仍然不知道如何更改标记和放置图像。

我按照微软https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/map-pin#consuming-the-custom-map的步骤操作

我的问题在于地图实现

CustomPin pin = new CustomPin
        {
            Type = PinType.Place,
            Label = "Test pin",
            Position = new Position(37.79752, -122.40183)
        };
        map.CustomPins = new List<CustomPin> { pin };
        map.Pins.Add(pin);

我必须添加/更改什么才能将我已经在资源中拥有的​​图像作为此图钉的标记?

现在它只需要我作为 pin 的名为 pin.png 的图像,但有时还需要使用不同的图像

渲染器有这个:

protected override MarkerOptions CreateMarker(Pin pin)
        {
            var marker = new MarkerOptions();
            marker.SetPosition(new LatLng(pin.Position.Latitude, pin.Position.Longitude));
            marker.SetTitle(pin.Label);
            marker.SetSnippet(pin.Address);
            marker.SetIcon(BitmapDescriptorFactory.FromResource(Resource.Drawable.pin));
            return marker;
        }

直接选择Resource.Drawable.pin也许可以调用这个改一下,但是不知道怎么用。

【问题讨论】:

  • 我手动添加了这些文件,但错误仍然存​​在。
  • 您是否将它们添加为具有正确内容类型的资源?除了将它们添加到 VS 之外,还有更多内容。我建议您下载示例应用程序并运行它,看看它是如何工作的。
  • 是的,我会这样做
  • @Jason 我修复了这个问题并更新了问题,也许你可以帮助我

标签: c# android google-maps xamarin.forms xamarin.forms.maps


【解决方案1】:

我知道这是一个老问题,但我会回答未来的查询,直到这里。您可以在 Assets 文件夹中添加图片并进行更改:

BitmapDescriptorFactory.FromResource(Resource.Drawable.pin)BitmapDescriptorFactory.FromAsset("pin.png")

【讨论】:

    猜你喜欢
    • 2021-10-19
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多