最近在开发安卓WorldWind项目,需要怎么Worldwind上添加Geoserver影像,但是在网上找不到有用的详细教程,特别苦恼了一阵子。多亏有一些公司开发的源码,研究过后,终于将影像成功加载上了。现在将添加影像的详细过程记录在此,希望能够帮助到有需要的同学。
1、使用AndroidStudio创建一个新项目,具体如何创建新项目,就不介绍了,这是很基础的过程。
2、下载Andorid平台的WorldWind库
下载的源码是包含Worldwind的源码和示例代码的,其中worldwind才是需要使用到的源码。
3、把下载好的库文件作为一个新的module添加到项目中。
File->New->Import Module
注意,我这里是已经导入过了,所以会出现这个问题,如果你没导入过项目,是不会出现这个问题的。
然后右击项目名,选择Open Module Setttings,
勾选worldwind,点击确定,就完成了module的导入工作。这时候sync一下,就可以使用了。如果出现问题,请网上搜索答案,导入工作不是重点,添加影像才是重点。导入成功后的代码结构如下。
所有的环境和库文件已经导入成功后,添加WorldWind地球到项目中。再项目中需要简单修改三个地方:
①修改activity_main.xml文件
<FrameLayout
android:id="@+id/globe"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
②修改权限,在AndroidManifest.xml文件中添加如下权限
<!--用于获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!--用于访问网络,网络定位需要上网-->
<uses-permission android:name="android.permission.INTERNET"/>
③在MainActivity.java文件中,添加窗口
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建一个地球窗口
WorldWindow wwd = new WorldWindow(getApplicationContext());
//添加图层
wwd.getLayers().addLayer(new BackgroundLayer());
wwd.getLayers().addLayer(new BlueMarbleLandsatLayer());
//添加地球对象
FrameLayout globle = findViewById(R.id.globe);
globle.addView(wwd);
}
添加好后的结果就是上图这样。修改好后,运行APP,应该就可以显示地球了。如果有问题,请网上寻求答案哦!
接下来讲解怎么在Activity中添加影像