0

长话短说; 我在蓝牙设备上测量了该地区其他设备的信号强度,然后我在 Android 应用程序上记录了 GPS 位置。

我将位置放在我的应用程序中的谷歌地图上,但我希望标记根据信号强度(0-255)的值从红色变为绿色或类似的东西改变颜色。

我想我需要在应用程序中制作自己的 Drawable 或更改以下内容:

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

但我找不到在 android 应用程序中绘制标记的方法。

有任何想法吗?

4

2 回答 2

1

你在用GoogleMap吗?如果你关闭了 Drawable-generation,你所要做的就是通过以下MarkerOptions.icon方法连接它:

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

这将在地图上绘制您的可绘制对象。

如果需要,您可以替换fromResource为。fromBitmap

于 2013-02-13T19:49:47.137 回答
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)));
    }
于 2013-06-19T13:22:48.763 回答