您的位置:首页 > 移动开发 > Android开发

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

2016-04-27 20:00 609 查看
配置工程:

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文件---

public
class

Main
Activity
extends
Activity
{


private
MapView
mapView;


private
AMap
aMap;


@Override


protected
void
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对象


 
*/


private
void
init()
{


if
(aMap
==
null
)
{


aMap
= mapView.getMap();


}


}


/**


 
*
方法必须重写


 
*/


@Override


protected
void
onResume()
{


super
.onResume();


mapView.onResume();


}


/**


 
*
方法必须重写


 
*/


@Override


protected
void
onPause()
{


super
.onPause();


mapView.onPause();


}




/**


 
*
方法必须重写


 
*/


@Override


protected
void
onSaveInstanceState(Bundle
outState) {


super
.onSaveInstanceState(outState);


mapView.onSaveInstanceState(outState);


}


/**


 
*
方法必须重写


 
*/


@Override


protected
void
onDestroy()
{


super
.onDestroy();


mapView.onDestroy();


}


}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: