【发布时间】:2016-05-12 09:45:38
【问题描述】:
我试图让用户长按地图,而不是创建标记,新活动应该打开。它应该包含纬度和经度,即用户点击的位置。
我知道使用对话框时数据传输很容易,但我不想在我的应用程序的这一部分中使用对话框片段。
地图活动:
//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));
}
我的问题是 - 当我启动应用程序并点击地图时,无论我点击地图上的哪个位置,新打开的活动都会将 lat 和 lng 显示为 0.0。
【问题讨论】:
-
这意味着您的
if (myLocation != null) {没有被调用。在这里调试和检查。
标签: android google-maps android-activity