>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Erro ao mostrar localizacao no mapa


Mudei todo o codigo do projeto vendas para funcionar com a versao 2 da api do googlemaps e consigo salvar uma nova venda perfeitamente, consigo listar a venda com a localizacao corretamente, mas quando clico em uma venda na lista para mostrar no mapa da a mensagem de que a aplicacao parou inesperadamente e o mapa nao abre, nao sei se estou fazendo corretamente mas com certeza e com o Intent que tenho q passar as coordenadas para a Activity do mapa.


public class ListarVendasActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listar_vendas);

ListView lvwVendas = (ListView) findViewById(R.id.lvwVendas);

lvwVendas.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override
public void onItemClick(AdapterView ad, View v, int position,
long id) {
SQLiteCursor c = (SQLiteCursor) ad.getAdapter().getItem(position);
Intent it = new Intent(getBaseContext(), MapShowActivity.class);
it.putExtra("latitude", c.getDouble(c.getColumnIndex("la")));
it.putExtra("longitude", c.getDouble(c.getColumnIndex("lo")));
startActivity(it);
}

});

SQLiteDatabase db = openOrCreateDatabase("vendas.db", Context.MODE_PRIVATE, null);

Cursor cursor = db.rawQuery("SELECT venda._id,venda.preco,venda.la,venda.lo,produto.nome FROM venda INNER JOIN produto on produto._id = venda.produto;", null);

String[] from = {"_id","nome","preco","la","lo"};
int[] to = {R.id.txvID, R.id.txvNome, R.id.txvPreco,R.id.txvLa,R.id.txvLo};


SimpleCursorAdapter ad = new SimpleCursorAdapter(getBaseContext(),R.layout.model_listar, cursor,from,to);

lvwVendas.setAdapter(ad);

db.close();
}
}




public class MapShowActivity extends FragmentActivity{

Intent it = getIntent();
double latitude = it.getDoubleExtra("latitude",0);
double longitude = it.getDoubleExtra("longitude",0);

private LatLng location = new LatLng(latitude, longitude);

private GoogleMap map;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maps);


map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapa)).getMap();

map.addMarker(new MarkerOptions().position(location).title("venda aqui"));

map.moveCamera(CameraUpdateFactory.newLatLngZoom(location, 20));

map.animateCamera(CameraUpdateFactory.zoomTo(10),2000, null);

}
}



7 Respostas


ah esqueci de mencionar que no logCat o erro e o seguinte:

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instatiate activity ComponentInfo{com.gmail.andersoninfonet.vendas/com.gmail.andersoninfonet.vendas.MapShowActivity}: java.lang.NullPointerException




Anderson

Tudo bem?

Você não pode pegar um getIntent antes do onCreate, pois ele faz parte da classe. Logo, ele será nulo.

Tente assim:


public class MapShowActivity extends FragmentActivity{



private LatLng location;

private GoogleMap map;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maps);

Intent it = getIntent();
double latitude = it.getDoubleExtra("latitude",0);
double longitude = it.getDoubleExtra("longitude",0);

location = new LatLng(latitude, longitude);

map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapa)).getMap();

map.addMarker(new MarkerOptions().position(location).title("venda aqui"));

map.moveCamera(CameraUpdateFactory.newLatLngZoom(location, 20));

map.animateCamera(CameraUpdateFactory.zoomTo(10),2000, null);

}
}




Rafael muito obrigado pela ajuda, parece que este problema foi resolvido, porem o log cat me trazia outro erro:

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gmail.andersoninfonet.vendas/com.gmail.andersoninfonet.vendas.MapShowActivity}: android.view.InflateException: Binary xml file line #10: Error inflating class fragment.

resolvi declarando mais um meta-data no androidManifest:





Rafael muito obrigado pela ajuda, parece que este problema foi resolvido, porem o log cat me trazia outro erro:

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gmail.andersoninfonet.vendas/com.gmail.andersoninfonet.vendas.MapShowActivity}: android.view.InflateException: Binary xml file line #10: Error inflating class fragment.

resolvi declarando mais um meta-data no androidManifest:






Rafael muito obrigado pela ajuda, parece que este problema foi resolvido, porem o log cat me trazia outro erro:

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gmail.andersoninfonet.vendas/com.gmail.andersoninfonet.vendas.MapShowActivity}: android.view.InflateException: Binary xml file line #10: Error inflating class fragment.

resolvi declarando mais um meta-data no androidManifest:
[XML]

[/XML]




não to conseguindo postar o código que resolveu, deixa ver se agora vai:

""




desisto kkkkkkkkkkkkkkkkkkkkkk.