1. 程式人生 > >第一個基於ArcGIS的Android應用

第一個基於ArcGIS的Android應用

pmap utf end state xtend required ani empty n)

使用Android Studio創建第一個工程

打開Android Studio,新建工程。在Application name處填寫項目名稱,company domain是公司地址,將來作為包名,點擊Next下一步。

技術分享

選擇Phone and Tablet,API選擇16以後版本(Arcgis官網教程這樣,可能系統要求),點擊Next下一步。

技術分享

選擇Empty Activity下一步。

技術分享

現在已經成功創建了工程,接下來就是加入ArcGIS Runtime SDK依賴。

添加ArcGIS Runtime SDK依賴

使用gradle腳本添加路徑,會自動下載壓縮包。打開(Project)下的build.gradle文件,添加代碼:

allprojects {
    repositories {
        jcenter()
        maven {
            url ‘https://esri.bintray.com/arcgis‘
        }
    }
}

  

添加依賴包,代開(Module)下的build.gradle文件,添加代碼:

dependencies { 
  compile ‘com.esri.arcgisruntime:arcgis-android:100.1.0‘ 
  compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
  [more dependencies...]
}

添加權限。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.jimmy.displaymap">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-feature android:glEsVersion="0x00020000" android:required="
true" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

為應用添加布局

在AndroidManifest.xml文件上,添加代碼:

<com.esri.arcgisruntime.mapping.view.MapView
  android:id="@+id/mapView"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent" >
</com.esri.arcgisruntime.mapping.view.MapView>

初始化地圖

在MainActivity上添加代碼:

package com.example.jimmy.displaymap;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.esri.arcgisruntime.mapping.ArcGISMap;
import com.esri.arcgisruntime.mapping.view.MapView;
import com.esri.arcgisruntime.mapping.Basemap;

public class MainActivity extends AppCompatActivity {
    private  MapView mapView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mapView = (MapView)findViewById(R.id.mapView);
        ArcGISMap map = new ArcGISMap(Basemap.Type.TOPOGRAPHIC,26.893231, 112.571997,18);
        mapView.setMap(map);
    }
    @Override
    protected void onPause(){
        mapView.pause();
        super.onPause();
    }

    @Override
    protected void onResume(){
        super.onResume();
        mapView.resume();
    }
}

運行程序

Make Project,等待下載完成包。沒有錯誤之後運行app,顯示效果如下:

技術分享

地圖上有水印,底部還有鏈接。

第一個基於ArcGIS的Android應用