安卓开发---高德地图(1) 显示一张简单地图

来源:互联网 发布:人工智能技术路线图 编辑:程序博客网 时间:2024/06/05 05:22

配置工程:

http://lbs.amap.com/api/android-sdk/down/下载相关开发sdk

1.从网站下载的开发包并解压。

  • 3D地图包解压后得到:3D地图显示包“Android_Map_2.x.x.jar ”和文件夹“ armeabi ”(以 V2.2.0为例,含 - libamapv302.so 和 libmapv302ex.so 文件)。
  • 2D地图包解压后得到:2D地图显示包“Android_Map_V2.x.x.jar ”
  • 搜索包解压后得到:“Android_Services_V2.x.x.jar”。

2.开发工程中新建“ libs ”文件夹,将地图包(2D或3D)、搜索包拷贝到 libs 的根目录下。若选择3D地图包,还需要将“ armeabi ”文件夹一起拷贝。拷贝完成后的工程目录(以3D V2.2.0为例)如图所示:

高德地图配置工程

3.添加用户 appkey 在工程的“ AndroidManifest.xml ”文件如下代码中添加您的用户 Key。

其中的Key需要到高德官网申请

<application         android:icon="@drawable/icon"         android:label="@string/app_name" >         <meta-data            android:name="com.amap.api.v2.apikey"            android:value="请输入您的用户Key"/>         <activity android:name="com.amap.demo.LocationManager" >             <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />             </intent-filter>         </activity></application>

4.添加权限。在工程的“ AndroidManifest.xml ”文件中进行添加。

<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /><uses-permission android:name="android.permission.WRITE_SETTINGS" />
5.代码实现

(1)XML 文件 ----添加3D地图,布局文件为

<?xml version="1.0" encoding="utf-8"?><!-- 引入布局文件 --><com.amap.api.maps.MapView    xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/map"    android:layout_width="match_parent"    android:layout_height="match_parent" />

添加2D地图,布局文件为  (一般使用3D地图,在后续的开发中比较方便使用,)

<?xml version="1.0" encoding="utf-8"?>!-- 引入布局文件 --><com.amap.api.maps2d.MapView    xmlns:android="http://schemas.android.com/apk/res/android"   android:id="@+id/map"   android:layout_width="fill_parent"   android:layout_height="fill_parent" />
JAVA文件---

publicclass MainActivity extendsActivity {
    privateMapView mapView;
    privateAMap aMap;
 
    @Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // R 需要引用包import com.amapv2.apis.R;
        setContentView(R.layout.basicmap_activity);
        mapView = (MapView) findViewById(R.id.map);
        mapView.onCreate(savedInstanceState);// 必须要写
        init();
    }
 
    /**
     * 初始化AMap对象
     */
    privatevoid init() {
        if(aMap == null) {
            aMap = mapView.getMap();
        }
    }
 
    /**
     * 方法必须重写
     */
    @Override
    protectedvoid onResume() {
        super.onResume();
        mapView.onResume();
    }
 
    /**
     * 方法必须重写
     */
    @Override
    protectedvoid onPause() {
        super.onPause();
        mapView.onPause();
    }
     
    /**
     * 方法必须重写
     */
    @Override
    protectedvoid onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        mapView.onSaveInstanceState(outState);
    }
 
    /**
     * 方法必须重写
     */
    @Override
    protectedvoid onDestroy() {
        super.onDestroy();
        mapView.onDestroy();
    }
}


0 0
原创粉丝点击