1
我一直在關注如何爲谷歌地圖製作自定義標記,我已經得到了這部分的工作this tutorial。但是,爲了調整我在標記上使用的圖像的大小,我必須更改一些代碼。谷歌地圖圖像失真(Xamarin)
這是我使用的方法做調整:
private void UpdateMarkers(float zoom)
{
// Max zoom out => zoom = 3
// Max zoom in => zoom = 21
int dimension = (int)zoom * 10;
if (dimension == currentDimension)
return;
currentDimension = dimension;
map.Clear();
foreach (var pin in customPins)
{
var immutableBitmap = BitmapFactory.DecodeResource(Context.Resources, Resource.Drawable.icon);
var mutableBitmap = immutableBitmap.Copy(Bitmap.Config.Argb8888, true);
mutableBitmap.Height = dimension;
mutableBitmap.Width = dimension;
BitmapDescriptorFactory.FromBitmap(mutableBitmap);
var img = BitmapDescriptorFactory.FromBitmap(mutableBitmap);
var marker = new MarkerOptions();
marker.SetPosition(new LatLng(pin.Pin.Position.Latitude, pin.Pin.Position.Longitude));
marker.SetTitle(pin.Pin.Label);
marker.SetSnippet(pin.Pin.Address);
marker.SetIcon(img);
map.AddMarker(marker);
}
}
在原來的代碼,我會做這樣的事情
var img = BitmapDescriptorFactory.FromResource(Resource.Drawable.icon);
這個工程。但是我想調整圖像大小,所以我發現的方式來做到這一點。
任何想法是怎麼回事?
謝謝!這就像一個魅力:)並感謝最優化技巧,一定會做到這一點! – mathkid91