在一个应用程序中使用 2 个地图片段时出现问题

2024-02-29

我试图在两个不同的片段活动中使用两个不同的地图片段。根据 SupportMapFragment 设计,我将映射键保留在清单文件中应用程序属性的元标记中。 然而,我的地图视图没有清除,尽管我正在调用“getMap().clear()”,但它在第二个片段中显示带有旧点的相同地图。请建议

这工作正常,除非我不在单独的 Activity 中使用新的 MapFragment,如果我使用新的 Mapfragment,它会采用相同的地图视图,因此地图视图不会清除。

Code :

地图碎片

公共类 DisplayMapFragment 扩展 SupportMapFragment 实现 OnMarkerClickListener,OnInfoWindowClickListener {

View mMapViewContainer;
MapView mMapView;

private Utill utilClass = Utill.getInstance(false);
private View v;
private MapView mapView;
private GeoPoint p;
private MapController mc;
private String latstr = "";
private String lonstr = "";
private String name, address;
private double lat;
private double lng;

ArrayList<NearByItem> NearByList=new ArrayList<NearByItem>();
private LatLng mPosFija;
private ArrayList<Double> mlat, mlong;
private ViewGroup parent;
Utill utilclass=Utill.getInstance(false);
Bitmap bmp;
ImageView ivIcon;
StringBuilder sbc=new StringBuilder();

ProgressBar progressbar;
public ImageLoader imageLoader;     
public DisplayMapFragment() {
    super();

}

public static DisplayMapFragment newInstance(LatLng posicion) {
    DisplayMapFragment frag = new DisplayMapFragment();
    frag.mPosFija = posicion;
    return frag;

}

@Override
public void onCreate(Bundle arg0) {
    // TODO Auto-generated method stub
    super.onCreate(arg0);
    NearByList=NearByMapActivity.fltrdNearByLists;
    imageLoader=new ImageLoader(this.getActivity().getApplicationContext());

}

@Override
public View onCreateView(LayoutInflater arg0, ViewGroup arg1, Bundle arg2) {
    View v = super.onCreateView(arg0, arg1, arg2);
    mlat = new ArrayList<Double>();
    mlong = new ArrayList<Double>();
    parent=arg1;
    if(NearByMapActivity.fltrdNearByLists!=null && !NearByMapActivity.fltrdNearByLists.isEmpty())
            NearByList.addAll(NearByMapActivity.fltrdNearByLists);
    else
        NearByList.addAll(Utill.NearbyList);


    NearByMapActivity parentActivity = (NearByMapActivity) getActivity();

    return v;
}

public class MyItemizedOverlay extends ItemizedOverlay<OverlayItem> {
    private List<OverlayItem> items;
    private Drawable marker;

    public MyItemizedOverlay(Drawable defaultMarker) {
        super(defaultMarker);
        items = new ArrayList<OverlayItem>();
        marker = defaultMarker;
    }

    @Override
    protected OverlayItem createItem(int index) {
        return items.get(index);
    }

    @Override
    public int size() {
        return items.size();
    }

    @Override
    public void draw(Canvas canvas, MapView mapView, boolean shadow) {
        super.draw(canvas, mapView, shadow);
        boundCenterBottom(marker);
    }

    public void addItem(OverlayItem item) {
        items.add(item);
    }

    public void populateNow() {
        populate();
    }

    @Override
    protected boolean onTap(int index) {

        return true;
    }

}

private void initMap() {

    UiSettings settings = getMap().getUiSettings();
    settings.setAllGesturesEnabled(true);
    // settings.setMyLocationButtonEnabled(true);
    settings.isZoomControlsEnabled();
    getMap().setTrafficEnabled(true);
    getMap().getMaxZoomLevel();
    // getMap().setMyLocationEnabled(true);

    if(NearByMapActivity.fltrdNearByLists!=null && !NearByMapActivity.fltrdNearByLists.isEmpty())
    getMap().moveCamera(
            CameraUpdateFactory.newLatLngZoom(
                    new LatLng(Double.parseDouble(NearByMapActivity.fltrdNearByLists.get(0).getLocationLat()), 
                            Double.parseDouble(NearByMapActivity.fltrdNearByLists.get(0).getLocationLong())), 14));
    getMap().isTrafficEnabled();
    // getMap().addGroundOverlay(new GroundOverlayOptions().)

    getMap().setOnMarkerClickListener(this);
    getMap().setOnInfoWindowClickListener(this);

            marker=new MarkerOptions()
                        .position(
                                new LatLng(
                                        Double.parseDouble(item.getLocationLat()), 
                                        Double.parseDouble(item.getLocationLong())))
                        .title(""+item.getStoreTitle())
                        .icon(bitmapLoyalty
                                ).snippet(sbc.toString());
        else
            marker=new MarkerOptions()
        .position(
                new LatLng(
                        Double.parseDouble(item.getLocationLat()), 
                        Double.parseDouble(item.getLocationLong())))
        .title(""+item.getStoreTitle())
        .icon(bitmapIconNearBy
                ).snippet(sbc.toString());



Marker marker1=getMap().addMarker(marker);

PopupWindowAdapter view1=new PopupWindowAdapter();

this.getMap().setInfoWindowAdapter(view1);


        // .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)));

bmp=BitmapFactory.decodeResource(getResources(),R.drawable.orgr_icon);
    }
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onActivityCreated(savedInstanceState);
    initMap();
     getMap().addMarker(new MarkerOptions().position(new
LatLng(36.865814,-119.758399)).icon(BitmapDescriptorFactory.fromResource(R.drawable.red_pin)));
     //getMap().addGroundOverlay(new GroundOverlay(null));

/* getMap().addGroundOverlay(new GroundOverlayOptions() .图像(图像) .positionFromBounds(边界) .透明度(0.5)); */ }

@Override
public void onPause() {
    super.onPause();

//getMap().clear();
}
public void onResume(){
    super.onResume();
    if(NearByMapActivity.mainMapView!=null)
        //if(NearByMapActivity.mainMapView.getVisibility()==View.GONE)
                NearByMapActivity.mainMapView.setVisibility(View.VISIBLE);
}

@Override
public boolean onMarkerClick(Marker arg0) {
    // TODO Auto-generated method stub
    Log.e("cleared", "");
    return false;
}

}

public void onStop(){
    super.onStop();
    //getMap().clear();
}

}

MAP ACTIVITY :启动 Fragment 的 Activity 类。

public class NearByMapActivity extends FragmentActivity{

onCreate(){
            FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
            Fragment frag=new DisplayMapFragment();
            transaction.add(R.id.middle_view, frag);
            transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE);
            transaction.addToBackStack(null);
            transaction.commit();
}
}

您可能受到此错误的影响:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在一个应用程序中使用 2 个地图片段时出现问题 的相关文章

  • Android Ble GATT_ERROR 133 经常使用三星设备

    我正在研究 BLE 应用程序 我已经使用 Nexus Moto Samsung LG 等不同设备进行了测试 我仅在三星设备中收到 GATT 错误 133 三星 A5 2016 尝试连接 10 次 但只连接了 2 或 3 次 请帮助我 Non
  • 如何使用gradle这样的格式更改apk名称?

    当我使用 gradle 构建应用程序时 我想将 app release apk 文件名更改为如下所示 format appname of package name V version code yyMMdd R T explain appn
  • Android浏览器上的Web应用程序宽度问题

    所以到目前为止我只在 Android 浏览器上遇到过这个问题 基本上我的网站几乎一直运行良好 而且我还没有在 Dolphin Opera 或 Skyfire 上看到这个问题 但偶尔当我从手机主屏幕之一上的书签重新打开 Android 浏览器
  • Android/Java 创建辅助类来创建图表

    Goal 创建用于图形生成的辅助类 背景 我有 3 个片段 每个片段收集一些传感器数据 加速度计 陀螺仪 旋转 并使用 GraphView 绘制图表 以下是其中一个片段的代码 该代码当前工作正常 public class Gyroscope
  • 如何更改对话框的默认黑色暗淡背景“颜色”(而不是暗淡量)?

    这是随机显示的图像Dialog在网上找到的 我一直在实施一个自定义Dialog 我可以处理对话框上的几乎所有内容 除了对话框本身下方的默认黑色昏暗背景之外 但在其后面的整个屏幕上 基本上我想改变它color和阿尔法值 我一直在 StackO
  • 有没有办法替代Android中的标准Log?

    有没有办法以某种方式拦截对 android 中标准 Log 的调用并执行其他操作 在桌面 Java 中 人们通常会得到一些记录器 因此有多种方法可以安装不同的日志处理程序 实现 但是 Android似乎对Log有静态调用 我找不到任何有关替
  • 如何在我的 Android 应用程序中实现应用内购买?

    如何在我的 Android 应用程序中实现应用内购买 我提到 http developer android com guide market billing billing integrate html billing service ht
  • 调试 Java InterruptedException,即查找原因

    在调试Android应用程序时 有时中断异常发生并使应用程序崩溃 我已经能够在默认异常处理程序上设置断点 但调用堆栈不提供信息 at java util concurrent locks AbstractQueuedSynchronizer
  • 仅在 Android 应用程序中使用 XHDPI 可绘制对象?

    如果您计划在不久的将来支持 LDPI MDPI HPDI 或许还有 XHDPI 那么是否可以在项目中仅包含 XHDPI 可绘制对象并让设备将其缩放到所需的分辨率 我已经测试过在 Photoshop 中将可绘制对象的大小调整为 MDPI 和
  • Android 性能:SharedPreferences 的成本

    当我的应用程序启动时 我使用分片首选项中的值填充容器类 这个想法是处理 SharedPreferences 和 PreferenceManager 一次 因为我猜它们很重 这是一个示例 SharedPreferences prefs Pre
  • 如何在虚拟机 VirtualBox 上运行 Android-x86 4.2 iso?

    我想用Android x86测试和调试我的应用程序 我之前成功尝试过其他版本的Android x86 但是关于android x86 4 2有一个错误 所以我在这里问我的问题 因为它可能会发生在其他人身上 我安装了oracle VM vir
  • cordova插件条码扫描仪打不开扫描

    我的条形码扫描仪插件有问题 我不是天才 我不太了解如何编写网络应用程序 我使用phonegap和cordova 并且尝试制作一个网络应用程序 在单击链接后扫描条形码 我之前已经使用此命令行安装了该插件 cordova plugin add
  • 无法在 Java 中输出正确的哈希值。怎么了?

    在我的 Android 应用程序中 我有一个 SHA256 哈希值 我必须使用 RIPEMD160 消息摘要算法进一步对其进行哈希值 我可以输出任何字符串的正确 sha256 和ripemd160 哈希值 但是当我尝试使用ripemd160
  • Android 发布到 facebook 墙,stream.publish 几天来就中断了

    我有很多使用 FB android sdk 发布的应用程序 github com facebook facebook android sdk 我所有使用 FB 的应用程序几天后就停止工作了 这必然是 FB 方面的更改或错误 因为我的应用程序
  • 获取当前图片在图库中显示的位置

    在我的应用程序中 我有一个图片库 但我想检测当前显示图像的位置 例如 当我启动我的活动时 位置是 0 但是当我在图库中滚动时 我想获取当前显示图像的位置 我尝试过 OnFocusChanged OnItemClicked 但只有当我单击图库
  • 如何以编程方式创建 CardView

    我正在开发一个 Android 应用程序Java Android Studio 我想在活动中创建CardView以编程方式 我想将以下属性设置为CardView layout width wrap content layout row 0
  • 当我使用 ListView 时,ListTile OnTap 正在工作。但是当我使用 ListWheelScrollView 时它不起作用

    当我使用 ListView 时 ListTile OnTap 正在工作 但是当我使用 ListWheelScrollView 时它不起作用 我的意思是它不会被窃听 观点发生变化 但我似乎无法点击它 我在很多地方和链接中寻找解决方案 但仍然找
  • 绘制多边形

    我正在使用 Google Maps API V3 根据路径绘制多边形 该路径是随机未排序坐标点 LatLng 的数组 这会产生以下形状 Polylines intersect Problem 由于多边形的形状取决于路径中点的顺序 因此如何对
  • 画布:尝试使用回收的位图错误

    我是一个相当新的程序员 所以任何建议将不胜感激 我有一个类 每次调用它时都会在循环中运行 AsyncTask AsyncTask 看起来像这样 public class LoadImageTask extends AsyncTask
  • 我可以通过在 Android Activity 中声明适当的成员“静态”来提高效率吗

    如果一个 Activity 在实践中是单例 我认为我可以通过声明适当的成员 静态 来获得一些效率 且风险为零 是的 The Android 文档说 http developer android com guide topics fundam

随机推荐

  • 从列表中设置 System.Windows.Point 的 Y 坐标会出现修改错误

    当我从列表访问点时 设置点的 Y 坐标时遇到一些问题 例如 这有效 System Windows Point test new System Windows Point 6 5 test Y 6 但是 如果我有一个点列表 并且通过该列表访问
  • 传入 CSV Excel 工作表的选项卡名称

    我在将 工作表 选项卡重命名为任何文件名时遇到问题 这样做的问题是 如果用户意外下载工作表两次 Windows 会将 template 1 csv 附加到文件中 以保持下载目录中的唯一性 在 Excel 中打开时 此工作表的选项卡名称为 t
  • 更改选择时的选项卡文本颜色

    我正在研究 Angular4 并且一直在使用 Angular 材料 我创建了一个选项卡组 并且想在选择任何选项卡时更改选项卡标签的文本颜色 我尝试过覆盖默认的 CSS 但这对我没有帮助 我可以覆盖墨迹栏 但无法在选择时覆盖选项卡文本颜色 m
  • 如何使用 jQuery 解析远程 XML 文件

    我使用此脚本通过 jQuery 解析 XML 文件 但仅当我在本地服务器中有 XML 文件时它才会运行 你知道如何解析远程服务器上的 XML 文件吗
  • ipython 服务器无法启动:没有名为 notebook.notebookapp 的模块

    我一直在尝试按照几个教程设置 ipython 服务器 因为没有一个完全符合我的情况 几天前 我确实设法将其启动 但随后无法通过 url 访问它 今天它不再启动了 我找不到太多关于我得到的这个特定错误的信息 Traceback most re
  • 为指定元素添加类

    好的 我有这个代码 start our session session start check if there is a page request if isset GET page if there is a request page
  • Python 将两个列表分组

    我有两个清单 A T D Q D D sessionid 1 1 1 2 2 无论如何 我是否可以将 A 中的项目分组为相同的 sessionid 以便我可以打印出以下内容 1 T D Q 2 D D 迭代工具groupby https d
  • 如何检查windows用户是否设置了密码?

    Question 我不知道这会这么难弄清楚 但我来了 我正在开发一个网络支持客户端 它必须检测当前登录的用户是否设置了密码 我尝试使用 WMI 检查PasswordRequired财产在Win32 UserAccount类 但它返回fals
  • 暂停后保存游戏状态。和引擎

    我发现恢复游戏后 所有引擎都会重新加载 并且应用程序也会重新初始化 我想保存引擎状态并在 onResume 中恢复游戏过程 我尝试保存所有引擎 mEngine 然后在 onLoadEngine 中恢复游戏后返回保存的引擎 我认为这是一个糟糕
  • 如何使用 PHP 获取服务器的外部 IP?

    我经常听到人们说使用 SERVER SERVER ADDR 但这会返回我的服务器的 LAN IP 例如 192 168 1 100 我想要外部 IP 如果您使用路由器 则无法通过传统 PHP 获取 ISP 指定的底层 IP 地址 获取外部
  • C# Thread.Sleep(1000) 在某些电脑上花费的时间远远超过 1000 毫秒

    我写了一个c 程序来倒计时5秒 我所做的是 new Task gt try this Invoke Action delegate label1 Text 5 4 3 2 etc Thread Sleep 1000
  • 如何将ActiveX控件转换为NPAPI插件

    我有一个 ActiveX 控件 旨在 搜索附近的无线网络 创建无线接入点 管理网络适配器 我希望这个插件能够在 Google Chrome Firefox 中工作 在 IE 中 我可以使用以下代码来嵌入 我创建了一个无线网络 如下所示 在
  • 将结构体数组传递给 COM 接口

    我有一个带有 IDL 文件的 COM 接口 其中声明了以下内容 typedef uuid D7B6C495 FFF3 11E0 8A39 08002700D831 struct PORT CONFIG unsigned char rack
  • 概念模型 vs 逻辑模型 vs 物理模型

    我正在做一项有关数据库的工作 现在我需要显示三个不同的图像 一个具有概念模型的图像 另一个具有逻辑模型 另一个具有数据库的物理模型 但我很难理解哪个图像代表每个模型 我正在寻找有关此问题的可靠信息 但我找到了不同的答案 我有点困惑 所以我来
  • 为什么 Facebook JavaScript 身份验证无法在特定计算机上运行?

    我有一个使用 Facebook JavaScript API 的网站 允许用户通过 Facebook 登录到 Ruby on Rails 应用程序 当用户单击登录或注销时 Facebook 代码会进行身份验证 然后引发一个事件并提供带有身份
  • java.lang.OutOfMemoryError:尝试抛出OutOfMemoryError时抛出OutOfMemoryError;没有可用的堆栈跟踪

    我正在尝试将用户提供的经纬度值与数据库中的经纬度值进行比较 如果它们彼此相距 15 公里半径 则应更改文本视图 但我面临以下错误 我的数据库包含值 source lat 19 218418 source long 73 08661 经度 1
  • 对于 MVC,Webform 的“UrlAuthorizationModule.CheckUrlAccessForPrincipal”等效项是什么?

    我在为我的公司编写自定义 SSO 解决方案时遇到了问题 为了简单起见 我制作了一个自定义身份验证http模块 它拦截所有请求以检查用户身份验证状态 如果未通过身份验证 用户将被重定向到我的自定义 sso 登录页面 问题是 当用户未经身份验证
  • 无法解析“../node_modules/bootstrap/dist/css/bootstrap.min.css”?

    我试图在我的项目中使用react bootstrap table2来创建一个简单的引导表 但收到错误 编译失败 找不到模块 无法解析 Users xxx Documents xxx src routes home 中的 node modul
  • 测试通过函数传递到 if 语句的真值或假值参数

    我也在这方面画了一个空白 如果有人可以帮助我理解为什么我的代码没有打印预期的输出 我将不胜感激 而不是提供答案 def bool to str bval if bval is True mytest Yes else mytest No r
  • 在一个应用程序中使用 2 个地图片段时出现问题

    我试图在两个不同的片段活动中使用两个不同的地图片段 根据 SupportMapFragment 设计 我将映射键保留在清单文件中应用程序属性的元标记中 然而 我的地图视图没有清除 尽管我正在调用 getMap clear 但它在第二个片段中