に複数の場所を表示できませんintent.putExtra()
を介して他のアクティビティからMapActivity
に、そしてMapActivity
に私の住所を渡そうとしています。私はジオコードを行っています。エラーはありませんが、実行すると位置は表示されません。誰かが私に行方不明または間違っていることを教えてもらえますか?Googleマップ
FYI:ListViewアクティビティからDisplayItemアクティビティ(すでに動作しています)にアドレスを渡しました。今、私はこれは私であるこの
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.myMap) {
Intent intent = new Intent(ShoppingMall.this,MapsActivity.class);
//Intent.putExtra
startActivity(intent);
}
return super.onOptionsItemSelected(item);
}
に
intent.putExtra(MapsActivity.EXTRA_ADDRESS, adapter.getItem(position)[4]);
を入れたいベローは私の他の活動(ListViewActivity
)
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(ShoppingMall.this, Displayitem.class);
if (adapter.getItem(position).length > 0) {
intent.putExtra(Displayitem.EXTRA_ADDRESS, adapter.getItem(position)[4]);
intent.putExtra(MapsActivity.EXTRA_ADDRESS, adapter.getItem(position)[4]);
}
startActivity(intent);
}
});
ある
MapActivity
にそれを渡したいですMapActivity
public static final String EXTRA_ADDRESS ="address";
private Bundle extras;
List<Address> location;
double lati, lon ;
.
.
.
.
private void getAddress(GoogleMap googleMap) {
try {
mMap = googleMap;
Intent intent = getIntent();
extras = intent.getExtras();
Geocoder geocoder = new Geocoder(this);
String address = extras.getString(this.EXTRA_ADDRESS);
location = geocoder.getFromLocationName(address, 1);
if (location.size() > 0) {
lati =location.get(0).getLatitude();
lon =location.get(0).getLongitude();
MarkerOptions options = new MarkerOptions()
.title("")
.position (new LatLng(lati, lon));
mMap.addMarker(options);
}
}catch (Exception e){
e.printStackTrace();
}
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
getAddress(googleMap);
setUpMap();
}
PS:初心者アンドロイド
....これを試してみてください。私は別のクラスを作ることはできますか? Like インテントの意図=新しいインテント(ShoppingMall.this、Mapactivity.class); および 意図インテント=新しいインテント(ShoppingMall.this、Displayitem.class); – Critako
上記の例では、MapActivityコードとインテントがdisplayitemを渡します。だから、あなたは両方の別々のクラスを作ることができます。 –
ええ、私は問題を認識し、私は私の質問を更新しています。あなたが理解して欲しい – Critako