2016-12-26 6 views
0

Googleマップマーカーを画面の周りにドラッグすると、マーカーが画面の特定の場所、たとえば左下にドロップされたときにイベントをトリガーする方法があるかどうかを知りたいことがあります。Googleマップのマーカーが画面の特定の場所にドロップされたときにイベントをトリガーする方法はありますか?

+1

チェックhttps://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.OnMarkerDragListener – AndroidRuntimeException

答えて

0

レイアウトを作成してマップを初期化した後、onCreate()に次のコードを追加してください。

View mapView = getSupportFragmentManager().findFragmentById(R.id.map).getView(); 
if (mapView.getViewTreeObserver().isAlive()) { 
    mapView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 
     @Override 
     public void onGlobalLayout() { 
      mapView.getViewTreeObserver().removeGlobalOnLayoutListener(this); 
      map.moveCamera(CameraUpdateFactory.newLatLngZoom(CENTER, 15)); 
      Point markerScreenPosition = map.getProjection().toScreenLocation(marker.getPosition()); 
      int x = markerScreenPosition.getX(); 
      int y = markerScreenPosition.getY(); 
      if(x == yourValue && y == yourValue){ 
       //your trigger code goes here 
      } 
     } 
    }); 
} 
+0

場所の指定がありません。画面の左下のように、画面の位置(x、y)の座標が表示されていました。 – Nobody

+0

私は自分の答えを編集しました。お役に立てれば。 – tahsinRupam

0

私はマーカーが自動的に削除されないと思います。それらはあなたのコードによって処理されます。たとえば、地図上にマーカーを追加したり、地図の長いクリックをクリックしたりすることができます。そのイベントを取得して修正してみてください

+1

それは(真).draggable '設定することで、ドラッグ可能行うことができます' I私が尋ねたように画面のどこにドロップされたかに基づいてイベントをトリガーする方法を知りたい場合 – Nobody

+0

[これを試す](https://developers.google.com/android/reference/com /google/android/gms/maps/GoogleMap.OnMarkerDragListener) –

関連する問題