android - 加载 webmap 失败,大多数图层未加载
问题描述
我正在尝试加载此网络地图(https://oebb.maps.arcgis.com/home/item.html?id=f89eab37e55540f7b2e25a88cd0a07d5),但大多数图层都没有显示。它可以在网络上运行,但在 Android 上失败(使用最新的 sdk,100.2.1)。
class MainActivity : AppCompatActivity() {
lateinit var mMapView: MapView
private lateinit var map: ArcGISMap
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// inflate MapView from layout
mMapView = findViewById(R.id.mapview)
val leftPoint = Point(16.374120968073157, 48.186396114084104, SpatialReferences.getWgs84())
val rightPoint = Point(16.38101960965946, 48.18357774813336, SpatialReferences.getWgs84())
val initialExtent = Envelope(leftPoint, rightPoint)
//construct a map from the portal item
map = ArcGISMap("https://oebb.maps.arcgis.com/home/item.html?id=f89eab37e55540f7b2e25a88cd0a07d5")
// set starting envelope for the ArcGISMap
map.initialViewpoint = Viewpoint(initialExtent)
// Pass a WebMap to the MapView constructor overload to display it.
mapview.map = map
}
override fun onPause() {
super.onPause()
mMapView.pause()
}
override fun onResume() {
super.onResume()
mMapView.resume()
}
override fun onDestroy() {
super.onDestroy()
mMapView.dispose()
}
}
10 个图层中有 9 个有异常 (map.operationalLayer[0].loadError: ArcGISRuntimeException: Invalid JSON.
解决方案
您的代码似乎没问题,问题可能出在加载 web 地图的 100.2.1 Android SDK 内部。这个问题应该会在几周后发布的版本 100.3.0 中得到解决。我在内部构建上运行了您的代码,并且您的图层和符号呈现类似于网络版本。
推荐阅读
- java - 如何操作此字符串以在 Java 中查找和更改原始字符串的一部分?
- php - 您不能使用“markdown_to_html”过滤器,因为没有可用的 Markdown 库
- c - Visual Studio C 程序使用 VS 编译器运行失败,但使用 Clang
- python - scikit-extremes:返回 skextremes 中特定返回值的采样错误
- python - 将 JSON 对象转换为 Python 字典
- fpga - Diamond/ModelSim 布线后时序仿真问题
- javascript - Ckeditor5 在我的反应应用程序中无法正常工作
- c# - 使用 C#/.net 的加密服务提供程序
- vba - 如何在不使用 VBA 名称的情况下引用对象?
- apache-spark - 当该行的一列值为 NULL 时,Spark Dataframe 为整行返回 NULL