gpt4 book ai didi

java - Android 从选择器中选择然后显示在 map 上

转载 作者:行者123 更新时间:2023-11-29 22:16:36 28 4
gpt4 key购买 nike

第一个屏幕要求用户选择不同的类别按钮,然后在选择类别后显示 map 中的位置。

例如,用户选择搜索餐馆和酒吧,然后点击搜索。然后下一个屏幕将显示带有 map 中位置的图标。

我对如何将数据从我的 mainActivity 传递到 MapActivity 感到困惑。

我尝试为每个按钮做一个循环:但它显示了我只想显示所选按钮的所有按钮。

----------------Activityone----------------

if (toggleButton5.isChecked()) {

double point3=37326489;
double point4=-121772461;

Bundle b = new Bundle(); // create a bundle to pass to map activity
b.putDouble("point3",point3); // bundle the geo points for the map activity and convert to 1e6
b.putDouble("point4",point4);
Intent myIntent = new Intent(view.getContext(), Map.class); // create the intent to launch the map
myIntent.putExtras(b); // attach bundle to map activity
startActivityForResult(myIntent, 0); // start map activity
//map things!
}

----------------MapAcivity----------------

  Bundle b = this.getIntent().getExtras();
Drawable drawable1 = this.getResources().getDrawable(R.drawable.button_food_on);
OverlayMap itemizedoverlay2 = new OverlayMap(drawable1, this);

GeoPoint point2 = new GeoPoint((int)(b.getDouble("point3")),(int) (b.getDouble("point4")));

OverlayItem overlayitem1 = new OverlayItem(point2, "", "");

itemizedoverlay2.addOverlay(overlayitem1);
mapOverlays.add(itemizedoverlay2);

编辑:首先是第一个屏幕的图像:

最佳答案

你正试图在这里做很多事情。在 android 中解析 xml 并不简单。在 android 中过滤可显示图标列表并非易事。当单独询问时,这些问题的答案很容易在这个网站上找到。

不过,我会帮助您解决一个琐碎的问题,让您开始自己的工作。

您没有将要过滤的变量获取到 MapActivity 的原因是您没有发送它们。

在你开始你的 Intent 之前(以及在你声明它之后)将你想要过滤的变量放在一个 Extra 中,可能是一个字符串数组。

String[] searchFilter = {"restaurants", "bars"}; //build this array of variables from your buttons, this is just a static example
Intent myIntent3 = new Intent(view.getContext(), MapActivity.class);
myIntent3.putExtra("yourFilter", searchFilter);
startActivityForResult(myIntent3, 1);

然后在您的 MapActivity 中,您可以提取从 OnCreate 或 OnResume 函数发送给它的数据(尽管实际上您可以在 Activity 内的任何地方调用它)。

String[] filterYouJustSent = this.getIntent().getStringArrayExtra("yourFilter");
MapActivity 中的

filterYoujustSent 现在应该将 {"restaurants", "bars"} 作为其数据。如果您没有将任何内容附加到那个名为 extra 的内容,filterYouJustSent 将为空。

关于java - Android 从选择器中选择然后显示在 map 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8303383/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com