android - AndroidのGoogleマップでマーカーを非表示または表示する方法

原文 android google-maps map tags location

私はAndroidコーディングの初心者であり、それを理解しようとしています。私はチュートリアルに従って、オンラインの資料や本を読んでいます。少し自信がつき始めたので、より複雑なタスクに移っています。

私はGoogleマップを使用していて、起動時に指定した場所をマップ上に表示することができました。

//Making array businessNY global

public static ArrayList<LatLng> businessesNY;


//Creating a method showBNY to add given coordinates to the array and then add those arrayed coordinates on the map with given perimeter.  I call this method on my onCreate.

public static boolean showBNY(){
        businessesNY = new ArrayList<LatLng>();
        businessesNY.add(new LatLng(40.741532, -73.989293));
        businessesNY.add(new LatLng(40.684281, -73.996159));

        for(LatLng bNY : businessesNY){ 
            mMap.addMarker(new MarkerOptions() 
            .position(bNY)
            .title("New York Business")
        }

        return true;
    }


次にしたいのは、これらの場所を非表示にしたり、非表示の場合に表示したりするための2つまたは1つの方法を作成することです。私はこれについて読んでいて、非表示にするには.setVisible(false)を、表示するには.setVisible(true);を使用する必要があることを確認しました。ユーザーがボタンをクリックしてオンに切り替え、同じボタンをオフに切り替えられるようにしたいのですが。

私はこれをどのように実装できるのか理解できません。私は長い間取り組んでおり、イライラしているので、どんな助けにも感謝します。

誰か助けてくれませんか。

ありがとう
答え
これを試して

 Marker markers = gMap.addMarker(new MarkerOptions()
                .position(latlng)
                .title("MyPlace").icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_pin)).draggable(true));


ボタンのクリックイベント

トグルボタン

<ToggleButton 
  android:id="@+id/togglebutton"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textOn="On"
  android:textOff="Off"
  android:onClick="onToggleClicked"/>


次に、ハンドラメソッドのみをアクティビティJavaで定義する必要があります。

public void onToggleClicked(View view) {
    if(((ToggleButton) view).isChecked()) {
          markers.setVisible(true); 
        // handle toggle on
    } else {
        markers.setVisible(false); 
       // handle toggle off
    }    
}
関連記事

android - 画像ビューの現在のスケール値を取得する

android - 電話ギャップビルドを通じて初期化できません。 Phonegap Inapp請求

android - アニメーション(翻訳)水平リストビューアイテム

android - ネットワークエラーが発生しました(file:///android_asset/www/skinloader.html)ワークライト

android - Android Studio:リソースsourceSetsの下のリソースファイルを除外する

android - Android用の縦長のフルスクリーンeditTextを設定する方法

android - シンボル '@drawableを解決できません

android - 共有テキストビューはFacebookアプリでは機能しません

android - Android Fabric SDKプラグインが新しく追加されたGradleプラグインと競合する

android - 通常のIDのないリストビューのonclickリスナー