2017-11-02 4 views
0

私はマップボックスアンドロイドに取り組んでいます。アクティビティが読み込まれると、各情報ウィンドウを表示するためにマーカーをクリックすることなく、インフォウィンドウをすべてのマーカーの上に表示する必要があります。マップボックスでこの機能をどのように達成できますか?ここでマーカをクリックしなくてもインフォウィンドウをMapbox androidに常に表示するにはどうすればよいですか?

コードです: -

mapView.getMapAsync(new OnMapReadyCallback() { 
      @Override 
      public void onMapReady(final MapboxMap map) { 

       mapboxMap = map; 
    mapboxMap.addMarker(new MarkerOptions() 
         .title("hello") 
         .snippet("I am here") 
       .position(new LatLng(33.948,-118.08))); 

       mapboxMap.setInfoWindowAdapter(new MapboxMap.InfoWindowAdapter() { 
        @Nullable 
        @Override 
        public View getInfoWindow(@NonNull Marker marker) { 
        //What do I give here so that marker click is not at all needed to inflate the Infowindow. 
          return null; 
        } 
       }); 
) 
}); 

答えて

2

使用このコードは

Marker marker = myMap.addMarker(new MarkerOptions() 
       .position(latLng) 
       .title("Title") 
       .snippet("Snippet") 
       .icon(BitmapDescriptorFactory 
       .fromResource(R.drawable.marker))); 
marker.showInfoWindow(); 

bydefault情報ウィンドウ開きますが、唯一つのマーカーのために働いて、これは、複数のマーカーのためには、最後のマーカーの情報ウィンドウを開きます。 Source From this Link

+0

showInfoWindowはmapboxMapとmapViewの2つのパラメータを要求しています。これら2つのパラメータを指定しても、情報ウィンドウは表示されません。クリックすると表示されます。 –

+0

このコードをgetmapAsyncメソッドに挿入します。同じことをしましたか? –

+0

その作業中です。どうもありがとう。 –

0

追加マーカーがマップするときは、View.Performclick()を呼び出すことができますが。 この投稿をチェックしてください。 Android call onClick method without Clicking

+0

どのオブジェクトにView.PerformClickメソッドを呼び出しますか?私はマーカーオブジェクトを呼び出すことはできません。 –

+0

あなたはonmapReady()を呼び出すことができます。 –

+0

私は上記のコード自体をonMapReady()メソッドの中に記述しました。 performclick()アクションを設定する同じメソッドをもう一度呼び出すにはどうすればよいですか?注: - 今すぐ編集をご覧ください。 –

関連する問題