使用BitmapDescriptorFactory
有可供你如何获得BitmapDescriptor
FromResource
FromAsset
FromPath
FromBitmap
两个例子多个选项:
要使用FromResource
,图像必须是你的资源树中,assumably内Drawable
子文件夹,Xamarin将产生的Resource.Drawable.XXXXX
形式的ID描述你和这将是一个整型常量:
var overlayOption = new GroundOverlayOptions()
.InvokeImage(BitmapDescriptorFactory.FromResource(Resource.Drawable.overlayface2))
.Position(e.Point, 5000f, 5000f);

FromAsset
负载从 “资产” 子文件夹中的图像:
var overlayOption = new GroundOverlayOptions()
.InvokeImage(BitmapDescriptorFactory.FromAsset("OverlayFace.png"))
.Position(e.Point, 5000f, 5000f);

FromPath
负荷从任意路径的形象,所以你可以加载您下载并存储在应用程序的缓存目录中的图像,或存储在SD卡的图像,等等
var overlayOption3 = new GroundOverlayOptions()
.InvokeImage(BitmapDescriptorFactory.FromPath("/mnt/sdcard/Download/OverlayFace.png"))
.Position(e.Point, 5000f, 5000f);
注意:人们碰到的最大问题是没有正确设置图像的大小,它在公里。不是像素,不是英里等...
注意:也为了速度,保持你的图像大小在2的幂,否则地图库将不得不将它转换成每次它的权力2图像加载覆盖(内存和性能命中)
今天@SushiHangover你是一个救星! –
@BarneyCambrie没有问题,我使用'FromPath'很多,因为我的应用程序将地图叠加层下载到应用程序的缓存目录中(机场信息和基于KML的矢量机场图纸等) – SushiHangover