ユーザーがマップを長時間クリックするのを可能にしようとしています。マーカーを作成する代わりに、新しいアクティビティが開きます。緯度と経度、つまりユーザーがクリックした場所が含まれている必要があります。Androidの別のアクティビティにlatlを渡す
私はダイアログを使用するとデータ転送は簡単だと知っていますが、私のアプリケーションのこの部分ではダイアログの断片を使いたくありません。
MapActivity:
//Add marker on long click
final double finalLongitude = longitude;
final double finalLatitude = latitude;
mMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
// start SendMessageActivity need to add marker to message activity
Intent intent = new Intent(getActivity(), DisplayLocationActivity.class);
intent.putExtra("latitude",""+ finalLatitude);
intent.putExtra("longitude", "" + finalLongitude);
startActivity(intent);
}
DisplayLocationActivity:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_set_location);
Bundle bundle = getIntent().getExtras();
double lat = bundle.getDouble("latitude");
double lng = bundle.getDouble("longitude");
//display lat lng
mLatDisplay = (TextView) findViewById(R.id.latTextViewDisplay);
mLangDisplay = (TextView) findViewById(R.id.lngTextViewDisplay);
mLatDisplay.setText(String.valueOf(lat));
mLangDisplay.setText(String.valueOf(lng));
}
私の問題は、これがある - 私はアプリを起動し、地図上でクリックしたときに、新しくオープンした活動は0.0なしとして緯度とLNGを表示どこで地図上でクリックしたのか
これは、あなたの 'if(myLocation!= null){'が呼び出されないことを意味します。ここでデバッグして確認してください。 –