Maps no android 10
25/03/2021
0
Olá, estou em processo de aprendizado e atualmente em processo de teste como programador em uma pequena empresa, e infelizmente eles utilizam java e eclipse para desenvolver e estou tendo que fazer umas alterações em um app muito antigo, esse app tem uma função que coleta uma latitude e uma longitude de onde foi feito um atendimento e mostra em um mapa, e não esta funcionando isso somente em dispositivos com o android 10, alguem poderia me ajudar, segue e a classe que faz isso (removi alguns dados por questao de segurança):
import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.text.ParseException; import java.text.SimpleDateFormat; import android.Manifest; import android.content.pm.PackageManager; import android.os.Bundle; import android.support.v4.app.ActivityCompat; import android.support.v4.app.FragmentActivity; import android.widget.Toast; import br.com.premiumweb.UTIL.ConsultaSQLServer; import br.com.premiumweb.UTIL.FormatarDataValores; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.Marker; import com.google.android.gms.maps.model.MarkerOptions; public class MapaAtendimento extends FragmentActivity{ private GoogleMap map; Marker markerI, markerP, markerF; double lat, longi, lat1, long1, lat2, long2, lat3, long3; String nomeEmp, tipoCA, horaInicio, horaFinal, horaIniFormat, horaFinFormat, horaIniShow, horaFinShow; String conexao = ConsultaSQLServer.getConexao(); @Override protected void onCreate(Bundle savedInstanceState) { checkLocationPermission(); super.onCreate(savedInstanceState); setContentView(R.layout.mapa_atendimento); tipoCA = getIntent().getStringExtra("tipoCA"); map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); map.setMyLocationEnabled(true); if (tipoCA.equals("I")) { try { consultaIndividual(); } catch (ParseException e) { e.printStackTrace(); } } else if(tipoCA.equals("T")) { try { consultaTodos(); } catch (ParseException e) { e.printStackTrace(); } } } private void checkLocationPermission() { if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { Toast.makeText(this, "Sem acesso ao GPS" , Toast.LENGTH_LONG).show(); ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 0); } else { Toast.makeText(this, "Acesso ao GPS - OK" , Toast.LENGTH_LONG).show(); } } public void consultaIndividual() throws ParseException { String horaIni = getIntent().getStringExtra("horaIni"); String codVend = getIntent().getStringExtra("codVend"); String recCnpjEmp = getIntent().getStringExtra("cnpjEmp"); Connection connect; connect = ConsultaSQLServer.CONN("o", "", "", ConsultaSQLServer.getConexao()); if(connect == null){ connect = ConsultaSQLServer.CONN("", "", "", ConsultaSQLServer.getConexao()); } if (connect != null) { try { Statement stmt = connect.createStatement(); ResultSet rs = stmt.executeQuery("select * from localidade where cnpj_emp = '"+ recCnpjEmp + "'" + " and tipo_prog = 'PREMIUMESTWEB' and cod_vendedor = "+ codVend + " and hora_inicio = '"+ horaIni + "'"); if (rs.next()) { lat1 = rs.getDouble("lat_inicio"); long1 = rs.getDouble("long_inicio"); nomeEmp = rs.getString("razao_cli"); horaInicio = rs.getString("hora_inicio"); horaFinal = rs.getString("hora_final"); SimpleDateFormat sdf1 = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); SimpleDateFormat sdf2 = FormatarDataValores.getDataTime(); horaIniFormat = sdf1.format(sdf2.parse(horaInicio)); horaFinFormat = sdf1.format(sdf2.parse(horaFinal)); if (nomeEmp.length() > 30) { nomeEmp = nomeEmp.substring(0, 30); } if (lat1 != 0 && conexao == "" ) { lat = lat1; longi = long1; drawMarker(new LatLng(lat, longi), nomeEmp, horaIniFormat + " a " + horaFinFormat); }else if(lat1 != 0 && conexao == ""){ lat = lat1; longi = long1; drawMarker(new LatLng(lat, longi), nomeEmp, horaInicio + " a " + horaFinal); } map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, longi), 15)); } rs.close(); stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } } public void consultaTodos() throws ParseException { String dataIni = getIntent().getStringExtra("dataIni"); String codVend = getIntent().getStringExtra("codVend"); String recCnpjEmp = getIntent().getStringExtra("cnpjEmp"); Connection connect; connect = ConsultaSQLServer.CONN("", "", "", ConsultaSQLServer.getConexao()); if(connect == null){ connect = ConsultaSQLServer.CONN("", "", "", ConsultaSQLServer.getConexao()); } if (connect != null) { try { Statement stmt = connect.createStatement(); ResultSet rs = stmt.executeQuery("select * from localidade where cnpj_emp = '"+ recCnpjEmp + "'" + " and tipo_prog = 'PREMIUMESTWEB' and cod_vendedor = "+ codVend + " and data_inicio = '"+ dataIni + "'"); while (rs.next()) { lat = rs.getDouble("lat_inicio"); longi = rs.getDouble("long_inicio"); nomeEmp = rs.getString("razao_cli"); horaInicio = rs.getString("hora_inicio"); horaFinal = rs.getString("hora_final"); SimpleDateFormat sdf1 = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); SimpleDateFormat sdf2 = FormatarDataValores.getDataTime(); horaIniFormat = sdf1.format(sdf2.parse(horaInicio)); horaFinFormat = sdf1.format(sdf2.parse(horaFinal)); if (nomeEmp.length() > 30) { nomeEmp = nomeEmp.substring(0, 30); } if (lat != 0 && conexao == "") { drawMarker(new LatLng(lat, longi), nomeEmp, horaIniFormat + " a " + horaFinFormat); }else { drawMarker(new LatLng(lat, longi), nomeEmp, horaInicio + " a " + horaFinal); } map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, longi), 15)); map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null); } rs.close(); stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } } private void drawMarker(LatLng point, String nomeEmp, String dataAtend) { MarkerOptions markerOptions = new MarkerOptions().position(point).title(nomeEmp).snippet(dataAtend); map.addMarker(markerOptions); } }
Matheus Tavares
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)