2017-05-10 3 views
0

onMapReadyの後にonMarkerのクリックを処理するが、最初のクリックでコールバックを返さない。ただし、通常は2回目のクリックからマーカーをクリックするとコールバックを返します。MapBoxマーカーが最初のクリックを返さない

mapboxMap.setOnMarkerClickListener(new MapboxMap.OnMarkerClickListener() { 
    @Override 
    public boolean onMarkerClick(@NonNull Marker marker) { 
     Log.i("TAG", "MARKER clicked"); 
     return true; 
    } 
}); 
MainActivity

完全なデモのソースコードを、私はmapbox 5.0.2を使用していますHERE

です。マーカーで最初のクリックを受信するにはどうすればよいですか?

UPDATE
私はそれを呼び出すことはありませんその後、私はMarkerView

mMapBox.getMarkerViewManager().setOnMarkerViewClickListener(new MapboxMap.OnMarkerViewClickListener() { 
    @Override 
    public boolean onMarkerClick(@NonNull Marker marker, @NonNull View view, 
      @NonNull MapboxMap.MarkerViewAdapter markerViewAdapter) { 
     return false; 
    } 
}); 
+0

これまでに何をしていますか?マーカーを追加するかリスナーを追加しますか? –

+0

@RamilGabdrakhmanovマーカーを追加します。私はまた私の質問に完全なデモのソースコードを追加します。あなたがそれを確認することを願って –

答えて

1

をクリックしたとき、私は、MarkerViewをクリックしてください最初の時間で常に2時間と呼ばれるgetMarkerViewManager().setOnMarkerViewClickListeneronMarkerClickを使用している場合、私はあなたもこれを加えると思いますコード:

+0

私はMapBoxを新しくしました。もっと説明できますか? 'clusterManager'とは何ですか?ありがとうございました –

+0

@PhanVanLinh回答を編集しました。この[リンク](https://github.com/mapbox/mapbox-gl-native/issues/8236)の詳細もご覧ください – Better

+0

ありがとうございました。解決策はうまくいかない。すべてのクリックに対して 'onMarkerClick'が2回返されます。 –

0

私はを追加するたびに私の問題を解決するための1つのトリックを見つけるselectMarker

MarkerView markerView = mapboxMap.addMarker(markerViewOptions); 
mapboxMap.selectMarker(markerView); 

使用してMarkerを選択することが最初のクリックでマーカーリターンクリックリスナーを行いますまた、私をマップする。しかし、私はそれが良い解決策ではないと思う。

関連する問題