ArcGIS for Android入门(Java):ViewPage + Fragment 底部导航栏添加地图

修改为ViewPage + Fragment 可以参考里面runoob的教程;我也是参考这个修改的;这前面的网上都有很多相应的教程,我觉得这一部分的难点主要是在Fragment里面加载地图;

在fragment页面添加MapView控件

<com.esri.arcgisruntime.mapping.view.MapView
        android:id="@+id/mapView"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </com.esri.arcgisruntime.mapping.view.MapView>

MainActivity里面添加一下代码

    private MapView mMapView;
// 地图初始化
    public void initMap(){
        mMapView = findViewById(R.id.mapView);
        String vecUrl = "http://192.168.0.19/server/rest/services/Hosted/DigitalMap/VectorTileServer";
        ArcGISVectorTiledLayer vectorTiledLayer = new ArcGISVectorTiledLayer(vecUrl);
        ArcGISMap map = new ArcGISMap(new Basemap(vectorTiledLayer));
        mMapView.setMap(map);
    }


    @Override
    protected void onPause() {
        super.onPause();
        if(mMapView != null) {
            mMapView.pause();
        }
    }

    @Override
    protected void onResume() {
        super.onResume();
        if(mMapView != null) {
            mMapView.resume();
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if(mMapView != null) {
            mMapView.dispose();
        }
        // 关闭此定时器,可以这样操作
        handler.removeCallbacks(runnable);
    }

然后在onCheckedChangedonPageScrollStateChanged里面添加调用初始化代码(这两个里面都要加),我的是在第二页是地图

if(mMapView == null) {
  this.initMap();
}

完成后运行测试就好了

作者:TanXJ

出处:https://www.cnblogs.com/tanxj/p/16501221.html

posted @   路遥_13  阅读(184)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示