Android - 如何知道 mapView 是否正确加载?

标签 android map arcgis esri

我无法检测 mapview 是否已加载到我的 android map 应用程序中。在 OnCreate 方法中,当我分配 map URL 时,我想知道是否发生了任何问题。由于我的互联网连接或任何其他问题(例如从 REST 服务加载 map ),可能会出现问题。这是我的代码块;

map.addLayer(newArcGISDynamicMapServiceLayer("any map URL"));

在这一点之后,我尝试使用像 if(map.isLoaded==false) 这样的控件,但它不起作用,尽管 map 已正确加载,但它落入了这个 block 。

谁能帮帮我?

提前致谢

最佳答案

听起来可能发生的事情是代码在初始化之前检查 map.isLoaded()。检查MapView Reference有关如何正确检查初始化的官方说明。

我已经扩展了引用代码

    map = (MapView) findViewById(R.id.map);
    tileLayer = new ArcGISTiledMapServiceLayer("http://services.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServer");

    tileLayer.setOnStatusChangedListener(new OnStatusChangedListener() {
        public void onStatusChanged(Object source, STATUS status) {
            if (OnStatusChangedListener.STATUS.INITIALIZED == status){
                map.addLayer(tileLayer);  //when layer is initialized add to map
            }
        }
    });


    map.setOnStatusChangedListener(new OnStatusChangedListener() {
       private static final long serialVersionUID = 1L;

       public void onStatusChanged(Object source, STATUS status) {
           //conditional checks if mapView's status has changed to initialized 
            if (OnStatusChangedListener.STATUS.INITIALIZED == status && source == map) 
            { 
                Toast mapViewToast = Toast.makeText(ActivityName.this, "MapView loaded", Toast.LENGTH_LONG);
                mapViewToast.show();
            }
        }
     });

关于Android - 如何知道 mapView 是否正确加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8969498/

相关文章:

java - setKeyListener 将覆盖 setInputType 并更改键盘

C++ 遍历模板 Map

r - 在 R 中的 ggmap 对象上绘制 geom_segment - 线未出现

javascript - 使用 bower、node、grunt 构建 ArcGIS

Tomcat 8 SSL 与 ArcGIS 服务器

android - 如何知道依赖项来自哪个远程存储库?

android - 避免在安装签名版本之前卸载未签名的 android 应用程序

android - EditText 限制最多 5 个联系人

c++ - 我应该为我的目的使用哪种数据结构?

gis - Arcgis解释了吗?