2014-01-30 174 views
5

我有問題使用谷歌地圖v2繪製一個圓。 Circle顯示正確,但圓的邊緣不平滑,它們非常銳利,有沒有辦法將Antialising應用於形狀?由於反Alising圓形谷歌地圖V2 Android

我的代碼:

CircleOptions circleOptions = new CircleOptions() 
     .center(point) 
     .radius(500) 
     .fillColor(0x7F0000FF) 
     .strokeColor(Color.rgb(71, 143, 150)) 
     .strokeWidth(2); 
+0

你有沒有試過.strokeWeight(1.5) –

回答

0

我知道這是一個老問題,而且我沒有完全回答,但這裏是我無論如何貢獻:

到目前爲止,我相信也沒辦法在Android中這樣做。唯一的解決方法是使用Google地圖標記並用平滑圓圈的位圖替換其圖標。你將無法改變它的大小,但我認爲這幾乎是不使用Circle對象的唯一限制。

爲了簡化操作,您甚至可以使用Android Studio創建新的Image資源,選擇Clip Art並搜索「亮度」。第一個圖標將是一個完美的圓圈,然後您可以根據自己的口味改變尺寸和顏色。此後,只是從你的新創建的繪製創建一個新的位圖:

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.DRAWABLE_NAME_HERE); 

,並創建用來給谷歌地圖標記的圖標BitmapDescriptor:

BitmapDescriptor descriptor = BitmapDescriptorFactory.fromBitmap(bitmap); 

有這個對象定義,你只要需要將其設置爲標記的圖標:

Marker.setIcon(descriptor); 

MarkerOptions.icon(descriptor); 

並使用這些MarkerOptions創建一個新標記。

正如我所說,這不是您的問題的完整答案,但它是我所知最接近的東西存在。希望它以某種方式幫助。