Guest User

Untitled

a guest
Jun 19th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.11 KB | None | 0 0
  1. public class obtenercoordenadas extends FragmentActivity implements OnMapReadyCallback {
  2.  
  3. private GoogleMap googleMap;
  4. private HashMap<Marker, Integer> idmarker = new HashMap<>();
  5.  
  6. private String name;
  7. private String name1;
  8. private String name2;
  9. private String name3;
  10. private String name4;
  11.  
  12.  
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.fm_buscarestacionamientos);
  17.  
  18. SupportMapFragment mapFragment = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.googleMap));
  19. mapFragment.getMapAsync(this);
  20.  
  21. if (android.os.Build.VERSION.SDK_INT > 9) {
  22. StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
  23. StrictMode.setThreadPolicy(policy);
  24. }}
  25.  
  26. public void onMapReady(GoogleMap googleMap){
  27. ArrayList<HashMap<String, String>> location = null;
  28. String url = "http://www.transportessalgado.cl/obtenercoordenadas.php";
  29. try {
  30.  
  31. JSONArray data = new JSONArray(getHttpGet(url));
  32.  
  33. location = new ArrayList<HashMap<String, String>>();
  34. HashMap<String, String> map;
  35.  
  36. for (int i = 0; i < data.length(); i++) {
  37. JSONObject tienda = data.getJSONObject(i);
  38.  
  39. map = new HashMap<String, String>();
  40. map.put("usuario_rut_administrador",tienda.getString("usuario_rut_administrador"));
  41. map.put("nombre_estacionamiento", tienda.getString("nombre_estacionamiento"));
  42. map.put("latitud", tienda.getString("latitud"));
  43. map.put("longitud", tienda.getString("longitud"));
  44. map.put("cantidad_cupos", tienda.getString("cantidad_cupos"));
  45. Log.e("lo que recibe el mapa", String.valueOf(map));
  46. location.add(map);
  47. }
  48. } catch (JSONException e) {
  49. e.printStackTrace();
  50. }
  51. // *** Display Google Map
  52.  
  53.  
  54. assert location != null;
  55. Double latitude = Double.parseDouble(location.get(0).get("latitud"));
  56. Double longitude = Double.parseDouble(location.get(0).get("longitud"));
  57. //String idddd= String.valueOf(location.get(0).get("usuario_rut_administrador"));
  58.  
  59. LatLng coordinate = new LatLng(latitude, longitude);
  60. googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  61. if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
  62.  
  63. return;
  64. }
  65. googleMap.setMyLocationEnabled(true);
  66.  
  67. googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(coordinate, 24));
  68. if (ActivityCompat.checkSelfPermission(getApplicationContext(),
  69. Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
  70. && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION)
  71. != PackageManager.PERMISSION_GRANTED) {
  72. return;
  73. }
  74.  
  75. // *** Marker (Loop)
  76. Marker markers = null;
  77. for (int i = 0; i < location.size(); i++) {
  78. latitude = Double.parseDouble(location.get(i).get("latitud"));
  79. longitude = Double.parseDouble(location.get(i).get("longitud"));
  80. name4 = String.valueOf(location.get(i).get("usuario_rut_administrador"));
  81. name = String.valueOf(location.get(i).get("nombre_estacionamiento"));
  82. name2 = String.valueOf(location.get(i).get("cantidad_cupos"));
  83. name1 = "Nombre Estacionamiento: " + name;
  84. name3 = "Cupos Disponibles: " + name2;
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92. MarkerOptions markerOptions = new MarkerOptions().position(new LatLng(latitude, longitude)).title(name1).snippet(name3);
  93. markers = googleMap.addMarker(markerOptions);
  94. markers.showInfoWindow();
  95. //idmarker = new HashMap<Marker, String>();
  96. idmarker.put(markers, i);
  97.  
  98. }
  99.  
  100. googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
  101. @Override
  102. public boolean onMarkerClick(Marker marker) {
  103. Intent iratienda = new Intent(getApplicationContext(), ConfirmarReserva.class);
  104. LatLng lat_long = marker.getPosition();
  105. String id = String.valueOf(idmarker.get(marker));
  106. iratienda.putExtra("idMarker",id);
  107. iratienda.putExtra("usuario_rut_administrador",name4);
  108. iratienda.putExtra("nombre_estacionamiento", name);
  109. iratienda.putExtra("latitud", lat_long.latitude);
  110. iratienda.putExtra("longitud", lat_long.longitude);
  111. iratienda.putExtra("cantidad_cupos",name2);
  112. Log.e("Informacion_enviada", String.valueOf(id));
  113. startActivity(iratienda);
  114. return false;
  115.  
  116.  
  117. }
  118. });
  119.  
  120. // SharedPreferences guardarID = getBaseContext().getSharedPreferences("guardarID", MODE_PRIVATE);
  121. //SharedPreferences.Editor edit = guardarID.edit();
  122. //edit.putString("ID", name4.trim()).apply();
  123. //edit.putString("name",name1.trim()).apply();
  124. //edit.putString("cantidad",name3.trim()).apply();
  125. //edit.apply();
  126. //edit.commit();
  127. }
  128.  
  129.  
  130.  
  131. public static String getHttpGet(String url) {
  132. StringBuilder str = new StringBuilder();
  133. HttpClient client = new DefaultHttpClient();
  134. HttpGet httpGet = new HttpGet(url);
  135. try {
  136. HttpResponse response = client.execute(httpGet);
  137. StatusLine statusLine = response.getStatusLine();
  138. int statusCode = statusLine.getStatusCode();
  139. if (statusCode == 200) { // Download OK
  140. HttpEntity entity = response.getEntity();
  141. InputStream content = entity.getContent();
  142. BufferedReader reader = new BufferedReader(new InputStreamReader(content));
  143. String line;
  144. while ((line = reader.readLine()) != null) {
  145. str.append(line);
  146. }
  147. } else {
  148. Log.e("Log", "Failed to download result..");
  149. }
  150. } catch (IOException e) {
  151. e.printStackTrace();
  152. }
  153. return str.toString();
  154. }
Add Comment
Please, Sign In to add comment