android---高德地图(1)---显示一张简单地图

来源:互联网 发布:2017网络虚假新闻案例 编辑:程序博客网 时间:2024/05/18 01:41
 配置工程:

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
    protectedvoidonCreate(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对象
     */
    privatevoidinit() {
        if(aMap == null) {
            aMap = mapView.getMap();
        }
    }
 
    /**
     * 方法必须重写
     */
    @Override
    protectedvoidonResume() {
        super.onResume();
        mapView.onResume();
    }
 
    /**
     * 方法必须重写
     */
    @Override
    protectedvoidonPause() {
        super.onPause();
        mapView.onPause();
    }
     
    /**
     * 方法必须重写
     */
    @Override
    protectedvoidonSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        mapView.onSaveInstanceState(outState);
    }
 
    /**
     * 方法必须重写
     */
    @Override
    protectedvoidonDestroy() {
        super.onDestroy();
        mapView.onDestroy();
    }
}


0 0
原创粉丝点击