2016-01-23 90 views
1

我正在开发一个将标记添加到地图的应用程序。但使用默认标记是一些沉重的和显示不清楚的信息。我想用一个数字加小点。我怎样才能做到这一点? O发现一些教程在标记的默认图标的放置器中添加图像,但我不认为这是这种情况。在Android上的Google地图中更改标记

这是我现在使用的代码。

    Marker marked = mMap.addMarker(new MarkerOptions() 
            .position(ltlt) 
            .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)) 
            .title("Numero:" + i) 
            .snippet("Snippet") 
        ); 

我的代码做到这一点:

My code do this

我需要这样做:

I need to do this

+0

即兴,你需要创建一个'Bitmap'有你的点和电话号码,然后使用'fromBitmap ()'在'BitmapDescriptorFactory'上。 – CommonsWare

+0

所以..我基本上需要像yellowDot.png + number1.png + number2.png + number3.png,当我标记把所有的东西? – Xidh

+0

或者使用'Bitmap'支持的'Canvas'来绘制文本和点。这对编程来说更为复杂,但它会减少很多您需要的图像数量。 – CommonsWare

回答

1

这项工作对我说:

配置iconGenerator

使用
IconGenerator iconFactory = new IconGenerator(this); 
    iconFactory.setContentPadding(0, 0, 0, 0); 
    iconFactory.setBackground(Drawable.createFromPath("R.drawable.nada.jpg")); // transparent image 10px x 10px 
    iconFactory.setTextAppearance(R.style.iconGenText); 

风格:

<style name="iconGenText"> 
    <item name="android:textSize">12sp</item> 
    <item name="android:textColor">#000000</item> 
</style> 

和我markeradd:

    Marker marked = mMap.addMarker(new MarkerOptions() 
          .position(ltlt) 
          .icon(BitmapDescriptorFactory.fromBitmap(iconFactory.makeIcon("" + i))) 
          .title("Numero:" + i) 
          .snippet("Snippet") 
        );