Projektteil 2
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

EarthquakeLocation.java 6.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. package de.edotzlaff.detection;
  2. import android.hardware.Sensor;
  3. import android.hardware.SensorEvent;
  4. import android.hardware.SensorEventListener;
  5. import android.hardware.SensorManager;
  6. import android.os.Build;
  7. import android.os.CountDownTimer;
  8. import android.util.Log;
  9. import androidx.annotation.RequiresApi;
  10. import androidx.fragment.app.FragmentActivity;
  11. import android.os.Bundle;
  12. import android.widget.Toast;
  13. import com.google.android.gms.maps.CameraUpdateFactory;
  14. import com.google.android.gms.maps.GoogleMap;
  15. import com.google.android.gms.maps.OnMapReadyCallback;
  16. import com.google.android.gms.maps.SupportMapFragment;
  17. import com.google.android.gms.maps.model.BitmapDescriptorFactory;
  18. import com.google.android.gms.maps.model.LatLng;
  19. import com.google.android.gms.maps.model.MarkerOptions;
  20. import de.edotzlaff.detection.detektion.Detektionssignal;
  21. import de.edotzlaff.detection.detektion.Epizentrum;
  22. import de.edotzlaff.detection.detektion.Erdbeben;
  23. import java.util.ArrayList;
  24. import java.util.Objects;
  25. public class EarthquakeLocation extends FragmentActivity implements OnMapReadyCallback {
  26. private GoogleMap mMap;
  27. private static final String TAGEPIZENTRUM = "Epizentrum";
  28. @Override
  29. protected void onCreate(Bundle savedInstanceState) {
  30. super.onCreate(savedInstanceState);
  31. setContentView(R.layout.activity_earthquake_location);
  32. // Obtain the SupportMapFragment and get notified when the map is ready to be used.
  33. SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
  34. mapFragment.getMapAsync(this);
  35. }
  36. //##########################################################################################################################################################################
  37. //################################################################## vvv DB Code vvv #####################################################################################
  38. //TODO Aron
  39. //################################################################## ^^^^ DB Code ^^^^ ###################################################################################
  40. //##########################################################################################################################################################################
  41. //##########################################################################################################################################################################
  42. //################################################################## vvv Calculate Epicenter vvv #########################################################################
  43. //TODO Jan
  44. @RequiresApi(api = Build.VERSION_CODES.O)
  45. /* public Epizentrum ermittleEpizentrum(DataSnapshot data)
  46. {
  47. Erdbeben erdbeben = new Erdbeben();
  48. erdbeben.addDetektionssignalList(mapToDetektionssignale(data));
  49. Epizentrum epizentrum = new Epizentrum();
  50. epizentrum = erdbeben.ermittleEpizentrum();
  51. if(Objects.isNull(epizentrum))
  52. {
  53. Log.i(TAGEPIZENTRUM, "Kein Epizentrum vorhanden");
  54. }
  55. else
  56. {
  57. Log.i(TAGEPIZENTRUM, "Epizentrum konnte ermittelt werden, Koordinaten: " + epizentrum.getKoordinaten().getX() + " " + epizentrum.getKoordinaten().getY());
  58. }
  59. return epizentrum;
  60. }
  61. */
  62. /* public ArrayList<Detektionssignal> mapToDetektionssignale(DataSnapshot data)
  63. {
  64. ArrayList<Detektionssignal> detektionssignale = new ArrayList<>();
  65. for(data.child("overviewnodes").getChildernKey)
  66. {
  67. Detektionssignal detektionssignal = new Detektionssignal();
  68. detektionssignal.setAnkunftsZeit();
  69. detektionssignal.setDeviceId();
  70. detektionssignal.setKoordinaten(data.child("overviewnodes").child("IDG" + f).child("d_breitengrad").getValue().toString(),
  71. data.child("overviewnodes").child("IDG" + f).child("e_laengengrad").getValue().toString());
  72. detektionssignal.setGeschwErdbeben();
  73. detektionssignale.add(detektionssignal);
  74. }
  75. return detektionssignale;
  76. }
  77. */
  78. //################################################################## ^^^^ Calculate Epicenter ^^^^ #######################################################################
  79. //##########################################################################################################################################################################
  80. //##########################################################################################################################################################################
  81. //################################################################## vvv Maps Code vvv ###################################################################################
  82. @Override
  83. public void onMapReady(GoogleMap googleMap) {
  84. mMap = googleMap;
  85. //TODO Aron: Daten aus DB in die jeweiligen Devices einsetzten
  86. //aus DB für Device 1 long lat
  87. LatLng divice1 = new LatLng(-34, 152);
  88. mMap.addMarker(new MarkerOptions().position(divice1).title("Device 1").icon(BitmapDescriptorFactory
  89. .defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
  90. //aus DB für Device 2 long lat
  91. LatLng divice2 = new LatLng(-33, 152);
  92. mMap.addMarker(new MarkerOptions().position(divice2).title("Device 2").icon(BitmapDescriptorFactory
  93. .defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
  94. //aus DB für Device 3 long lat
  95. LatLng divice3 = new LatLng(-34, 150);
  96. mMap.addMarker(new MarkerOptions().position(divice3).title("Device 3").icon(BitmapDescriptorFactory
  97. .defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
  98. //man könnten noch eine IF Abfrage einbauen falls es 4 Devices gibt
  99. // Add a marker in Epicenter
  100. LatLng epicenter = new LatLng(-34, 151);
  101. mMap.addMarker(new MarkerOptions().position(epicenter).title("Epicenter"));
  102. mMap.moveCamera(CameraUpdateFactory.newLatLng(epicenter));
  103. }
  104. //################################################################## ^^^^ Maps Code ^^^^ #################################################################################
  105. //##########################################################################################################################################################################
  106. }