1

私はアンドロイドマップビューが初めてです。特定の地域の降雨量に基づいて、Android マップ ビューで異なる色を表示する必要があります。この機能を理解するのを手伝ってください。

どうぞよろしくお願いいたします。

4

2 に答える 2

2

古い API の代わりに Map API v2 を使用してください (すべての人がそれを認識しているわけではありません)。onCameraChangeListener を GoogleMap に設定することで、ユーザーがスクロールしたときに常に更新された可視領域を取得できます。

googleMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener()
{            
    @Override
    public void onCameraChange(CameraPosition arg0)
    {
        VisibleRegion r = googleMap.getProjection().getVisibleRegion();
    }
});

レイアウトを次のようにします

<fragment
    class="com.google.android.gms.maps.SupportMapFragment"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:id="@+id/map_fragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    map:cameraZoom="14"/>

<yout.package.view.ColorOverlay
    android:id="@+id/overlay"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#00000000"/>

フルスクリーン マップ フラグメントと、カラー ゾーンを描画する透明な背景のオーバーレイを追加します。アイデアは、VisibleRegion の北東と南西の LatLng ポイントとそれらの画面上の位置に基づいて色を描画し、マップの上に描画するカスタム ビューを作成することです。それが一番大変な作業です:)

于 2013-01-08T13:42:44.740 に答える
2

古いAPIでも、円、長方形などのカスタマイズされた形状のオーバーレイを作成することにより、マップ上に色を表示できます. クラス で

オーバーライドdraw()するだけです。 新しい API を持つことは常に良いことですが、今のところは誰でも使用できます。このページでは、カスタムの形状と色でオーバーレイを作成する方法を説明しようとしています。 これが役立つことを願っています。 Overlay





于 2013-01-08T13:46:33.553 に答える