2015-08-03 68 views
0

我需要在Nutiteq MapView上放置一些标记。为了创建这些标记,我创建了一个带有半透明圆的位图。OpenStreetMap使用自定义Xfermode将标记添加到Nutiteq MapView

int size = (int)(30*mDisplayMetrics.density); 
Bitmap androidMarkerBitmap = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888); 
Paint paint = new Paint(); 
paint.setColor(Color.argb(150, 255, 0, 0)); 

Canvas canvas = new Canvas(androidMarkerBitmap); 
canvas.drawCircle(size/2, size/2, size/2, paint); 
com.nutiteq.graphics.Bitmap markerBitmap = BitmapUtils.createBitmapFromAndroidBitmap(androidMarkerBitmap); 
androidMarkerBitmap.recycle(); 

每个标记具有相同的位图。问题是位图的透明度(正如你可以看到alpha不是0)。当我添加多个标记时,所有的位图都简单地相加了一个......问题是我不想为透明度添加效果,而是需要获取“变暗”效果。

http://img.blog.csdn.net/20140426213750328?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbG1qNjIzNTY1Nzkx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

有没有办法来改变Xfermode使用时MapView的借鉴了它的标记默认?

回答

0

不,Nutiteq SDK中没有这样的选项。您描述的效果需要将标记渲染到单独的表面(具有“变暗”效果),然后将渲染的表面(带有标记)分层到其他层顶上。这样的功能非常昂贵,并没有在SDK中实现。

+0

我怀疑它... – Massimo

相关问题