Hi, I make the application very much in my application, there is a map, so I implemented Google Maps V2, and I have a problem. When I look at the map, I want to get the center points of the map, if I scroll the map and I leave it, then it will get the center points of the map, so anyone can suggest to solve this problem, it may be useful. Thanks in advance.
Note I used Google Maps V2, so please write about it.
public class Mapview extends FragmentActivity implements OnMapClickListener, OnCameraChangeListener{ final int RQS_GooglePlayServices = 1; private GoogleMap myMap; Location myLocation; TextView tvLocInfo; GPSTracker gps; public double Latitude,Longitude; String Datetime, addr,RegUID; public String lat,longd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mapview); tvLocInfo = (TextView)findViewById(R.id.locinfo); FragmentManager myFragmentManager = getSupportFragmentManager(); SupportMapFragment mySupportMapFragment = (SupportMapFragment)myFragmentManager.findFragmentById(R.id.map); myMap = mySupportMapFragment.getMap(); myMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); myMap.setMyLocationEnabled(true); myMap.setOnMapClickListener(this); Projection P = myMap.getProjection(); Log.e("lat", String.valueOf(Latitude)); Log.e("lat", String.valueOf(Longitude)); Button mDone = (Button) findViewById(R.id.button1); mDone.setOnClickListener(new View.OnClickListener() { @SuppressLint("SimpleDateFormat") public void onClick(View v) { //Toast.makeText(getBaseContext(), "latitude"+lat+""+"longitude"+longd , Toast.LENGTH_LONG).show(); String timeStamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime()); Datetime = timeStamp.toString(); Log.e("t", Datetime); RegUID = Utils.RegisterUserId; Log.e("t", RegUID); final ProgressDialog dialog = ProgressDialog.show(Mapview.this, "", Utils.Loading, true); dialog.show(); Handler handler = new Handler(); handler.postDelayed(new Runnable(){ @SuppressWarnings("unused") public void run() { try { String EMPLOYEE_SERVICE_URI = Utils.Request+"UserID="+RegUID+"&Location="+URLEncoder.encode(addr,"UTF-8")+"&Latitude="+lat+"&Longitude="+longd+"&RequestDate="+URLEncoder.encode(Datetime,"UTF-8"); Log.e(EMPLOYEE_SERVICE_URI, EMPLOYEE_SERVICE_URI); JSONObject JObject = Utils.getResult(EMPLOYEE_SERVICE_URI); //Toast.makeText(Mapview.this,JObject.toString(), Toast.LENGTH_LONG).show(); if(JObject!=null) { if(JObject.getBoolean("Valid")) { AlertDialog alertDialog = new AlertDialog.Builder(Mapview.this).create(); Utils.callAlert(JObject.getString("Message"), alertDialog); } else { AlertDialog alertDialog = new AlertDialog.Builder(Mapview.this).create(); Utils.callAlert(JObject.getString("Message"), alertDialog); } } else { AlertDialog alertDialog = new AlertDialog.Builder(Mapview.this).create(); Utils.callAlert(JObject.getString("Message"), alertDialog); } } catch (Exception e) { //Toast.makeText(Mapview.this,e.toString(), Toast.LENGTH_LONG).show(); Log.e("Exception", e.toString()); } dialog.dismiss(); }//run() ends }, 5000); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext()); if (resultCode == ConnectionResult.SUCCESS){ Toast.makeText(getApplicationContext(), "isGooglePlayServicesAvailable SUCCESS", Toast.LENGTH_LONG).show(); }else{ GooglePlayServicesUtil.getErrorDialog(resultCode, this, RQS_GooglePlayServices); } } public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { Log.i("test","onScroll"); return false; } @Override public void onMapClick(LatLng point) { Log.e("lat", String.valueOf(point.latitude)); Log.e("lat", String.valueOf(point.longitude)); Latitude =point.latitude; Longitude = point.longitude; lat = String.valueOf(point.latitude); longd = String.valueOf(point.longitude); myMap.moveCamera(CameraUpdateFactory.newLatLng(point)); gps = new GPSTracker(Mapview.this); // check if GPS enabled if(gps.canGetLocation()) { Geocoder geoCoder = new Geocoder(getBaseContext(), Locale.getDefault()); try { List<Address> addresses = geoCoder.getFromLocation(Latitude, Longitude, 1); if(addresses != null) { Address returnedAddress = addresses.get(0); StringBuilder strReturnedAddress = new StringBuilder(""); for(int i=0; i<returnedAddress.getMaxAddressLineIndex(); i++) { strReturnedAddress.append(returnedAddress.getAddressLine(i)).append("\n"); } addr = new String(strReturnedAddress); tvLocInfo.setText(addr.toString()); //Toast.makeText(getApplicationContext(), addr.toString(),Toast.LENGTH_LONG).show(); } else { Toast.makeText(getApplicationContext(), "Gps location address is unavailable please try again later", Toast.LENGTH_LONG).show(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } @Override public void onCameraChange(CameraPosition arg0) { // TODO Auto-generated method stub } }