C# 如何在Xamarin GoogleMaps中的标记上设置特定图标

C# 如何在Xamarin GoogleMaps中的标记上设置特定图标,c#,xamarin,google-maps-markers,C#,Xamarin,Google Maps Markers,我会创建一个Android应用程序,在那里我可以显示地理数据和其他东西。 我实现了Android.Gms.Maps,并将标记的默认ping图标更改为点 我尝试了不同的方法,但都不管用…请帮帮我 尝试1:(从路径打开bmp图标) 错误消息:解码图像失败,必须是位图 尝试2:(我已将bmp文件作为嵌入式资源包括在内) 错误消息:应用程序未编译,但未显示任何失败 尝试3:(也作为资源) 错误消息:应用程序未编译,但未显示任何失败 什么都没用!我不知道如何解决这个问题:-/ 可以肯定的是 …正确显示默认

我会创建一个Android应用程序,在那里我可以显示地理数据和其他东西。 我实现了Android.Gms.Maps,并将标记的默认ping图标更改为点

我尝试了不同的方法,但都不管用…请帮帮我

尝试1:(从路径打开bmp图标)

错误消息:解码图像失败,必须是位图

尝试2:(我已将bmp文件作为嵌入式资源包括在内)

错误消息:应用程序未编译,但未显示任何失败

尝试3:(也作为资源)

错误消息:应用程序未编译,但未显示任何失败

什么都没用!我不知道如何解决这个问题:-/

可以肯定的是

…正确显示默认标记,应用程序运行良好


谢谢你的帮助

尝试1将不起作用,因为路径未指向设备本身的路径

只要可绘制文件不是矢量可绘制文件或基于XML的可绘制文件,尝试2和3就可以工作。它需要是jpg或png。 这些也不能是嵌入式资源,但必须是Android资源,因此它们需要位于适当的资源文件夹中,并将构建操作设置为
AndroidResource


另外,请确保在调用map ready回调后添加标记。

谢谢,通过将embedded更改为android源代码,它可以正常工作
_myPositionMarker = _map.AddMarker(new MarkerOptions()
        .SetPosition(new LatLng(34.8094, 12.7484))
        .SetTitle("Actual Position")
        .SetIcon(BitmapDescriptorFactory.FromPath("C:\\Users\\my.name\\source\\repos\\repo\\appName\\Resources\\drawable\\dot.bmp")));
_myPositionMarker = _map.AddMarker(new MarkerOptions()
        .SetPosition(new LatLng(34.8094, 12.7484))
        .SetTitle("Actual Position")
        .SetIcon(BitmapDescriptorFactory.FromResource(Resource.Drawable.dot)));
var markerImg = BitmapDescriptorFactory.FromResource(Resource.Drawable.dot);

_myPositionMarker = _map.AddMarker(new MarkerOptions()
       .SetPosition(new LatLng(34.8094, 12.7484))
       .SetTitle("Actual Position")
       .SetIcon(markerImg));
_myPositionMarker = _map.AddMarker(new MarkerOptions()
        .SetPosition(new LatLng(24.8094, 12.7484))
        .SetTitle("Actual Position")