我正在制作Android应用程序以获取附近的位置,我在地图上显示位置,如果按下任何标记,将打开另一个活动,第二个活动显示有关该地点的信息,我想显示距离在我当前的位置和标记之间。我从第一次活动到细节活动都经过了经度和纬度;像这样:
public void onInfoWindowClick(Marker arg0) {
Intent intent = new Intent(getBaseContext(), PlaceDetailsActivity.class);
String reference = mMarkerPlaceLink.get(arg0.getId());
intent.putExtra("reference", reference);
intent.putExtra("mLatitude", mLatitude);
intent.putExtra("mLongitude", mLongitude);
startActivity(intent);
}
在placeDetailsActivity中:
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_place_details);
Intent i=getIntent();
c_lat=i.getStringExtra("mLatitude");
c_lng=i.getStringExtra("mLongitude");
double d_lat=Double.parseDouble(lat);
double d_lng=Double.parseDouble(lng);
double c_lat1 =Double.parseDouble(c_lat);
double c_lng1=Double.parseDouble(c_lng);
float[] results = new float[1];
Location.distanceBetween(c_lat1, c_lng1, d_lat, d_lng, results);
d=results[0];
我从:
获得d_lat和d_lngprotected void onPostExecute(HashMap<String,String> hPlaceDetails){
String name = hPlaceDetails.get("name");
String icon = hPlaceDetails.get("icon");
String vicinity = hPlaceDetails.get("vicinity");
lat = hPlaceDetails.get("lat");
lng = hPlaceDetails.get("lng");
String formatted_address = hPlaceDetails.get("formatted_address");
String formatted_phone = hPlaceDetails.get("formatted_phone");
String website = hPlaceDetails.get("website");
String rating = hPlaceDetails.get("rating");
String international_phone_number = hPlaceDetails.get("international_phone_number");
String url = hPlaceDetails.get("url");
当我测试我的应用程序时,它会崩溃!!