0

簡単に言えば。Bluetooth デバイスを使用して、その地域の他のデバイスの信号強度を測定し、Android アプリで GPS 位置を記録しました。

アプリの Google マップに位置を配置しますが、信号強度 (0-255) の値に応じてマーカーの色を赤から緑などに変更したいと考えています。

アプリで独自の Drawable を作成するか、次の内容を変更する必要があると思います。

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

しかし、Android アプリでマーカーを描画する方法が見つかりません。

何か案は?

4

2 に答える 2

1

を使用していGoogleMapますか? Drawable 世代がダウンしている場合は、次の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 に答える