Fórum Maps no android 10 #615078
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 :)