摘要:完全零基础入门篇~~本文是安卓SDK的入门篇,从头开始教大家如何创建一张安卓手机版的百度地图。
-----------------------------------------------------------------------------
一、环境的安装
需要安装eclipse、android ADT等环境。详见:【百度地图-安卓SDK】从头开始写android程序
二、新建一个helloworld程序
1、File->New->Android Project
2、输入项目名称->Next
3、选择android版本->next
百度地图安卓SDK支持1.5以上的安卓版本。
由于我的手机是2.2的,所以我勾选了android 2.2的选项。
4、输入oackage name->finish
5、右键点击工程->Run as->android application
我是连接真机运行的,当然用户也可以使用虚拟机。
不过使用虚拟机不能开启定位功能哦。
6、运行成功!
三、创建一张百度地图
1、注册key:
2、下载开发包:
3、新建libs文件夹
右键点击项目->new->folder
输入名称->finish
将开发包解压缩,会发现有两个文件。
把baidumapapi.jar拷贝到libs根目录下;把libBMapApiEngine.so拷贝到libs\armeabi目录下。(armeabi目录的新建方式和libs类似)
右键单击项目->properties
Java Build Path->Libraries->Add JARs
选择刚才引入的jar文件->OK
4、找到androidManifest.xml文件,增加使用权限和版本支持的代码。
androidManifest.xml全部源文件:
5、添加地图控件
项目->res->layout->main.xml
这是布局的xml文件,在这里增加地图控件的代码。
main.xml文件全部源代码如下:
6、编写地图程序
项目->src->milkmapActivity.java
这里需要import一些文件,然后让自己的mapactivity继承百度提供的MapActivity。继承的对象里面,要申明变量,再写方法。
(注意,类名和文件名保持一致!比如,我的文件名是MilkmapActivity.java,那么我的地图类名就是MilkmapActivity)
更换自己的key。
引入管理API的一些方法。
MilkmapActivity.java的全部源代码:
package com.baidu.milkmap;import android.app.Activity;import android.os.Bundle;/** 引入import **/import java.util.ArrayList;import java.util.List; import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Point;import android.graphics.drawable.Drawable;import android.location.Location;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Toast; import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.GeoPoint;import com.baidu.mapapi.ItemizedOverlay;import com.baidu.mapapi.LocationListener;import com.baidu.mapapi.MKAddrInfo;import com.baidu.mapapi.MKDrivingRouteResult;import com.baidu.mapapi.MKGeneralListener;import com.baidu.mapapi.MKLocationManager;import com.baidu.mapapi.MKPlanNode;import com.baidu.mapapi.MKPoiResult;import com.baidu.mapapi.MKSearch;import com.baidu.mapapi.MKSearchListener;import com.baidu.mapapi.MKTransitRouteResult;import com.baidu.mapapi.MKWalkingRouteResult;import com.baidu.mapapi.MapActivity;import com.baidu.mapapi.MapController;import com.baidu.mapapi.MapView;import com.baidu.mapapi.MyLocationOverlay;import com.baidu.mapapi.Overlay;import com.baidu.mapapi.OverlayItem;import com.baidu.mapapi.PoiOverlay;import com.baidu.mapapi.RouteOverlay;import com.baidu.mapapi.TransitOverlay; /** 继承MapActivity类 **/public class MilkmapActivity extends MapActivity { /** 申明变量 **/ BMapManager mBMapMan = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /** 创建地图 **/ mBMapMan = new BMapManager(getApplication()); mBMapMan.init("1713A92A7A0C854D1B8717670EF8B6CA75696567", null); super.initMapActivity(mBMapMan); MapView mMapView = (MapView) findViewById(R.id.bmapsView);//地图控件,不添加的话,就不用写。 mMapView.setBuiltInZoomControls(true); //设置启用内置的缩放控件 MapController mMapController = mMapView.getController(); // 得到mMapView的控制权,可以用它控制和驱动平移和缩放 GeoPoint point = new GeoPoint((int) (39.915 * 1E6), (int) (116.404 * 1E6)); //用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6) mMapController.setCenter(point); //设置地图中心点 mMapController.setZoom(12); //设置地图zoom级别 //mMapView.setSatellite(true); //卫星图 //mMapView.setTraffic(true); //交通流量 } @Override protected boolean isRouteDisplayed() { return false; } /** 引入方法管理API **/ @Override protected void onDestroy() { if (mBMapMan != null) { mBMapMan.destroy(); mBMapMan = null; } super.onDestroy(); } @Override protected void onPause() { if (mBMapMan != null) { mBMapMan.stop(); } super.onPause(); } @Override protected void onResume() { if (mBMapMan != null) { mBMapMan.start(); } super.onResume(); }}
7、运行,点击绿色的运行按钮就行。
OK啦,出来地图了~