0

长话短说;我使用蓝牙设备测量该地区其他设备的信号强度,然后在Android应用程序上记录GPS位置。Android谷歌地图:改变地图标记的颜色

我在我的应用程序中将位置放置在Google地图上,但我希望标记根据信号强度(0-255)的值从红色变为绿色等等来更改颜色。

我想我需要让我自己可绘制在应用程序或改变什么是在:

Drawable drawable = this.getResources().getDrawable(R.drawable.marker); 

但我不能找到一种方法得出的标记在Android应用程序。

任何想法?

回答

0

我认为你必须尝试以下类似的代码,但它适用于只是默认标志,颜色将根据色调值发生变化,这是从Google Maps API Demos片段:

// Creates a marker rainbow demonstrating how to create default marker icons of different 
    // hues (colors). 
    int numMarkersInRainbow = 12; 
    for (int i = 0; i < numMarkersInRainbow; i++) { 
     mMap.addMarker(new MarkerOptions() 
       .position(new LatLng(
         -30 + 10 * Math.sin(i * Math.PI/(numMarkersInRainbow - 1)), 
         135 - 10 * Math.cos(i * Math.PI/(numMarkersInRainbow - 1)))) 
       .title("Marker " + i) 
       .icon(BitmapDescriptorFactory.defaultMarker(i * 360/numMarkersInRainbow))); 
    } 
1

你使用的是GoogleMap?如果您有可绘制代下来,所有你需要做的就是通过MarkerOptions.icon方法把它挂:

BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.resource); 
MarkerOptions opts = new MarkerOptions().icon(descriptor); 
this.getMap().addMarker(opts); 

这将吸引你的可绘制在地图上。

You can replacefromResource如果需要的话与fromBitmap