Android 中在Android studio2.3中 NASA 的World Wind地图应用

World Wind的官方网站:链接
百度百科
World Wind(简称WW,中文民间直译为世界风),是NASA发布的一个开放源代码(Open Source)的地理科普软件(由NASA Research开发,由NASA Learning Technologies来发展),它是一个可视化地球仪,将NASA、USGS以及其它WMS服务商提供的图像通过一个三维的地球模型展现,近期还包含了火星和月球的展现。
先上图,我搭建的ww地图
这里写图片描述

我的Android studio中的成功后的工程目录:

这里写图片描述

官网GitHub地址链接

其中 World Wind资源包是:library
worldwind模块包含用于构建worldwind.aar库的源代码。
要构建worldwind,突出显示项目,然后选择Build> Make Module worldwind。 gradle构建脚本将构建.aar文件。 您可以在worldwind / build / outputs文件夹中找到生成的文件。
要运行单元测试,请选择Run> Run …,然后选择WorldWind Unit Tests。

WorldWind-tutorials资源包是:application
worldwind-tutorials模块包含几个演示核心World Wind编程概念的教程。 每个教程聚焦一个单一的功能和/或概念。 worldwind-tutorials应用程序包含一个代码查看器,因此您可以快速查看用于实现所选功能的代码。 请务必检查本模块中的源代码,以了解良好的World Wind编程技术。
要运行教程,请选择Run> Run …,然后选择worldwind-tutorials,然后选择一个设备或模拟器

如果不想导入的话,可以选择下载.arr文件
Android studio导入.arr包
给android 项目添加外部lib引用。在android studio中,有两种方式:
一种是jar包,一种是带资源文件的aar包:
jar: 只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件。
aar: 包含jar包和资源文件,如图片等所有res中的文件
步骤:
1.复制外部aar包到libs目录下。修改build.gradle 配置文件:
2:添加repositories flatDir { dirs ‘libs’ }}
这个是添加一个本地仓库,并把libs目录作为仓库的地址。
3:修改dependencies:
添加一行:compile(name:’usericonchooserutil’, ext:’aar’)
其中name就是libs目录下usericonchooserutil.aar文件名称,
ext,就是usericonchooserutil.aar的扩展名
4. 重新编译项目:从工具栏依次选择:”Build”–>”rebuild project”
5. 编译完成后,在app/build/intermediates/exploded-aar/ a就可以看见我们引用的aar包内容了,其中jar目录下是jar文件,res下是我们aar包里的资源文件。

代码案例:
布局文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipToPadding="true"
    android:background="@color/colordanbg"
    android:fitsSystemWindows="true"    tools:context="zph.zhjx.com.chat.ui.NearbyPeopleActivity">    
    <FrameLayout
        android:id="@+id/globe"
        android:layout_below="@+id/headview1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
     </FrameLayout>
</RelativeLayout>

Activity布局文件:

public class WWActivity extends Activity {
    private final String TAG="WWActivity";

    private FrameLayout frameLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_nearby_people);

        initheadview();
        initww();

    }


    private void initheadview() {

        frameLayout= (FrameLayout) findViewById(R.id.globe);
       }
    prvate void initww(){
        WorldWindow wwd = new    WorldWindow(getApplicationContext());
    wwd.getLayers().addLayer(new BackgroundLayer());
                        wwd.getLayers().addLayer(new BlueMarbleLandsatLayer());
                        frameLayout.addView(wwd);
    }


}


最后,向AndroidManifest.xml添加以下网络访问权限,以便地球可以下载其图像。

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

猜你喜欢

转载自blog.csdn.net/qq_24536171/article/details/66970643

相关文章