我在检测我的 Android 地图应用程序中是否加载了 MapView 时遇到了麻烦。在OnCreate方法中,当我分配地图URL时,我想知道是否发生了任何问题。由于我的互联网连接或任何其他问题(例如从 REST 服务加载地图),可能会出现问题。这是我的代码块;
map.addLayer(newArcGISDynamicMapServiceLayer("any map URL"));
之后,我尝试使用像 if(map.isLoaded==false) 这样的控件,但它不起作用,尽管地图已正确加载,但它落入此块。
谁能帮我?
提前致谢
听起来可能发生的情况是代码在初始化之前检查 map.isLoaded() 。查看地图视图参考 http://help.arcgis.com/en/arcgismobile/10.0/apis/android/api/index.html有关如何正确检查初始化的官方解释。
我已经扩展了参考代码
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();
}
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)