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);
}
然后在onCheckedChanged
和onPageScrollStateChanged
里面添加调用初始化代码(这两个里面都要加),我的是在第二页是地图
if(mMapView == null) {
this.initMap();
}
完成后运行测试就好了
作者:TanXJ
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?