4

我正在使用Xamarin並使用SimpleMapDemo,並且我有一個關於將MarkerOptions對象設置爲具有不同圖標的問題。在Google Maps API中設置標記圖標

這裏是我當前的代碼:

marker1.Icon(SetFeatureDrawable('Icon.png')); 

這上面的代碼無法正常工作。

請問我可以幫忙把圖標設置成名爲'Icon.png'的Drawable文件夾中的圖標嗎?提前

感謝

編輯

這裏是我的代碼:

marker1.Icon(BitmapDescriptorFactory.FromResource(Resource.Drawable.monkey)); 

這是我收到的錯誤:

Non-invocable member 'Android.Gms.Maps.Model.MarkerOptions.Icon' cannot be used like a method 

這裏是我的代碼嘗試設置圖標:

marker1.Icon = BitmapDescriptorFactory.FromResource(Resource.Drawable.monkey); 

這是我收到的錯誤:

CS0200: Property or indexer 'Android.Gms.Maps.Model.MarkerOptions.Icon' cannot be assigned to -- it is read only (CS0200) 

回答

2

嘗試這種方式:

double latitude = 0.0; 
double longitude = 0.0; 

MarkerOptions mapMarker = new MarkerOptions().position(new LatLng(latitude, longitude)).title("Your title will be here"); 

mapMarker .icon(BitmapDescriptorFactory.fromResource(R.drawable.icon))); 

mapView.addMarker(mapMarker); 
3

試試這個代碼,而不是:

marker1.InvokeIcon(SetFeatureDrawable('Icon.png')); 

一般來說,Xamarin嘗試將Java setter/getters綁定到屬性。在這種情況下,雖然MarkerOption.icon看起來像C#眼睛的屬性,但它實際上是一種Java方法。在這種情況下,綁定已將Java屬性方法「翻譯」爲MarkerOption.InvokeIcon,以圖符合C#設計準則。

2

試試這一個,使用此我可以在地圖中查看

MarkerOptions markerOptions = new MarkerOptions(); 

    // Setting position on the MarkerOptions 
    markerOptions.SetPosition(lt); 
    markerOptions.InvokeIcon(BitmapDescriptorFactory.FromResource(Resource.Drawable.pin)); 

custom map marker in google map

從繪製資源作爲標記的自定義圖標