长话短说;我得到蓝牙设备测量该区域其他设备的信号强度,然后我在Android应用程序上记录GPS位置。
我将这些位置放在我的应用中的谷歌地图上,但我希望标记根据信号强度(0-255)的值从红色变为绿色或类似的东西来改变颜色。
我想我需要在应用程序中创建自己的Drawable或更改以下内容:
Drawable drawable = this.getResources().getDrawable(R.drawable.marker);
但是我找不到在Android应用程序中绘制标记的方法。
有什么想法吗?
答案 0 :(得分:1)
您使用的是GoogleMap
吗?如果您有Drawable-generation,那么您只需通过MarkerOptions.icon
方法将其连接起来:
BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.resource);
MarkerOptions opts = new MarkerOptions().icon(descriptor);
this.getMap().addMarker(opts);
这将在地图上绘制您的drawable。
You can replace fromResource
fromBitmap
如果需要。
答案 1 :(得分: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)));
}