博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【“零起点”--百度地图手机SDK】如何创建一张地图
阅读量:7294 次
发布时间:2019-06-30

本文共 4450 字,大约阅读时间需要 14 分钟。

摘要:完全零基础入门篇~~本文是安卓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啦,出来地图了~

 

 

转载于:https://www.cnblogs.com/milkmap/archive/2012/05/11/2496526.html

你可能感兴趣的文章
就不可以认真点么.
查看>>
JSP标签JSTL(4)--URL
查看>>
DiscuX END - 553 Envolope sender mismatch with header from..
查看>>
论文笔记之:Instance-aware Semantic Segmentation via Multi-task Network Cascades
查看>>
单例模式
查看>>
你能用微信小程序打开小程序了【附开发方法】
查看>>
【BOOM】一款有趣的Javascript动画效果
查看>>
Osmocom-bb系统编译
查看>>
SQL Server-聚焦深入理解动态SQL查询(三十二)
查看>>
高考查分数微信就能搞定
查看>>
ORM简介
查看>>
so 问题来了,你现在值多少钱?
查看>>
17.3. mpstat
查看>>
dataguard中MRP无法启动的问题分析和解决
查看>>
Oracle 12C R2-新特性-转换函数的增强
查看>>
ITIL的一些简单感受
查看>>
使用oracheck进行系统巡检
查看>>
云计算+物联网的前景更加诱人
查看>>
SQL Server 中的事务与事务隔离级别以及如何理解脏读, 未提交读,不可重复读和幻读产生的过程和原因...
查看>>
购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(2)--前端,以及前后端Session
查看>>