2016-07-01 10 views
-1

私はmapFragmentを使って地図を表示します。私は、マーカーのセンタリングを無効にしたかったので別の場所でinfoWindowを削除しないでください。クリック

、マーカーをクリックすると、私は次のクリックリスナー実装:

@Override 
public void onMapReady(GoogleMap map) { 
    map.getUiSettings().setScrollGesturesEnabled(false); 
    map.getUiSettings().setMapToolbarEnabled(true); 
    map.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() { 
     public boolean onMarkerClick(Marker marker) { 
      marker.showInfoWindow(); 
      return true; 
     } 
    }); 
    if (!event.getLatlgn().equals("")) { 
     LatLng eventLocation = event.getLatlgn()); 
     Marker location = map.addMarker(new MarkerOptions().position(eventLocation).title(event.getLocation())); 
     location.showInfoWindow(); 
     LatLng camera = Events.modify4Camera(event.getLatlgn()); 
     map.moveCamera(CameraUpdateFactory.newLatLngZoom(camera, 15)); 
    } 
} 

をしかし、ユーザーがマップのどこにもクリックしたときに、情報ウィンドウの。消えます。どのように私はこれを修正?情報ウィンドウを常に開いておきたい。

また、私は独自のonMarkerClickListenerを実装して以来、右下隅のツールバーは表示されなくなりました...マップロード時に表示するにはどうすればいいですか?

答えて

-1

infoWindowを地図の任意の場所をクリックして表示する場合は、showInfoWindow()を呼び出すことで情報ウィンドウをプログラムで表示できます。情報ウィンドウは、ユーザのタッチイベントに応答するように設計されています。また、情報ウィンドウはhideInfoWindow()を呼び出すことでヒドーデンすることができます。

static final LatLng MELBOURNE = new LatLng(-37.81319, 144.96298); 
Marker melbourne = mMap.addMarker(new MarkerOptions() 
.position(MELBOURNE) 
.title("Melbourne")); 
melbourne.showInfoWindow(); 

は、詳細については、あなたはこのデモアプリを試すことがあります。

はここshowInfoWindow()メソッドを使用する方法の例です。このデモアプリには、showInfoWindow()メソッドが含まれています。https://github.com/googlemaps/android-samples/blob/master/ApiDemos/app/src/main/java/com/example/mapdemo/MarkerDemoActivity.java

+0

私はすでにこれを使用しています。私のコードで見ることができます。 – Zoker

関連する問題