百度地图之一百度地图搭建开发环境

百度地图移动版介绍:

  1.百度地图移动版API是一套基于移动互联网设备的应用程序接口,支持ios/android平台。

  2.通过该接口,您可以轻松访问百度服务和数据,构建功能丰富、交互性强的地图应用程序。百度地图移动API不仅包含构建地图的基本接口,还提供了诸如定位服务、本地搜索、路线规划等数据服务,你可以根据自己的需要进行选择。

关于百度地图修改的BUG

  1.百度地图移动版API 1.3.3版本(Android)

      2.修改国外gps坐标转为百度坐标错误的问题

      3.添加搜索在线建议词功能

      4.关于1.3.3版本升级的详细内容和历史升级请参考更新日志。在类参考文档中,我们也增加了接口说明。

百度地图官网地址:http://dev.baidu.com/wiki/imap/index.php

新地址:http://developer.baidu.com/map/

1. 配置Manifest.xml 文件

     添加百度地图开发的授权:

  

复制代码
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" ></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" ></uses-permission>
<uses-permission android:name="android.permission.INTERNET" ></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" ></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" ></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" ></uses-permission>
复制代码

 

    添加对屏幕的支持:

  

<supports-screens android:largeScreens="true"
android:normalScreens="true" android:smallScreens="true"
android:resizeable="true" android:anyDensity="true"/>

 

2. 在libs中添加 百度地图的jar包 baidumapapi.jar

3. 在布局文件main.xml中添加显示

<com.baidu.mapapi.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />

 

4 .Activity中的定义

   类 BMapManager 是一个地图引擎管理类,通过此类的start()方法,可以打开地图API;通过此类的stop()方法,可以终止百度地图API,调用此函数后,不会再发生回调。 通过init(String strKey,MKGeneralListener listener)方法初始化。在程序退出的时候调用此类中destory()方法。

   接口 MKGeneralListener 用于监听授权之后的结果,察看Key的状态是否正确。300 表示验证失败。

  类MapActivity  用来显示管理MapView类中activity处理逻辑的基础类。其中的initMapActivity(BMapManager bmapMan)用于初始化Activity。

  类GeoPoint 表示一个地理坐标点,存放经度和纬度,以微度的整数形式存储

注意事项:

  地图、定位、搜索功能都需要BMapManager来管理,BMapManager提供四个接口,init,start,stop,destory。建议在Appliaction里生成BMapManager对象并初始化,在程序退出时调用destory,在需要使用sdk功能的activity的onCreate里调用start,onDestory调用stop,或者onResume/onPause分别调用start和stop方法。

MainActivity:

复制代码
package com.android.android_baidu_demo;

import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.GeoPoint;
import com.baidu.mapapi.MKGeneralListener;
import com.baidu.mapapi.MapActivity;
import com.baidu.mapapi.MapController;
import com.baidu.mapapi.MapView;

import android.os.Bundle;
import android.widget.Toast;

public class MainActivity extends MapActivity {

//添加百度地图的相关控件
private MapView mapView;
//加载地图的引擎
private BMapManager bMapManager;
//百度地图的key
private String KeyString = "8C426377B3526B6BF3672C9BA3BB544D1E8289CD";
//在百度地图上添加一些控件,比如是放大或者缩小的控件
private MapController mapController;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView) this.findViewById(R.id.bmapView);
bMapManager = new BMapManager(MainActivity.this    );
//必须要加载key
bMapManager.init(KeyString, new MKGeneralListener() {

public void onGetPermissionState(int arg0) {
if(arg0==300){
Toast.makeText(MainActivity.this, "输入的key有错,请核实!!", 1).show();
}
}

public void onGetNetworkState(int arg0) {

}
});
this.initMapActivity(bMapManager);
//表示可以设置缩放功能
mapView.setBuiltInZoomControls(true);
mapController = mapView.getController();
//需要定义一个经纬度:北京天安门
GeoPoint geoPoint = new GeoPoint((int)(39.915*1E6),(int)(116.404*1E6));
mapController.setCenter(geoPoint);//设置一个中心点
mapController.setZoom(12);//设置缩放级别是12级别
}

@Override
protected void onDestroy() {
super.onDestroy();
if(bMapManager!=null){
bMapManager.destroy();
bMapManager = null;
}
}

@Override
protected void onResume() {
super.onResume();
if(bMapManager!=null){
bMapManager.start();
}
}

@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
if(bMapManager!=null){
bMapManager.stop();
}
}

@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}


}
复制代码

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序—— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。 Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类(class)负责创建视窗(window),一个活动中的Activity就是在 foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。 Android基础阶段:平台架构特性(JAVA/C) Market/应用程序组件 环境搭建与部署/打包与发布 AVD/DDMS/AAPT 调试与测试 相关资源访问/资源制作 Activity/Service/Broadcast Receiver/Content Provider/原理(生命周期)及深层实现. Android进阶初级:组件Widget/ 菜单Menu/ 布局Layout 详解 Xml解析(Pull/Dom/Sax)/JNI 解析SQL数据库原理, SQLit e /SharedPreferences/File详解 多媒体Audio/Video/Camera 详解 Android进阶高级:蓝牙/WIFI SMS/MMS 应用实现 深层次解析GPS原理,实现LocationManager/LocationProvider 进行定位/跟踪/查找/趋近警告以及Geocoder正逆向编解码等技术细节 2D图形库(Graphics/View)详解 SDCARD/传感器/手势 应用实现 《老罗Android视频教程(第一季)》的视频一共分为15个章节, 涵盖了Android入门、常用UI布局介绍、HTTP编程、 XML与Json数据解析、JDBC与Web编程、常用UI控件、 数据储存与文件操作、对话框、通知、菜单、 LoaderManager异步加载、多线程(AsyncTask与Handler)、 百度地图等十五个模块,一共102集。 本网盘分享章节编号是按照视频更新的先后顺序编号的,具体学习可参考如下章节顺序: 【第一版第一章】老罗Android开发视频--入门介绍(9集) 【第一版第二章】老罗Android开发视频--常用UI布局介绍(5集) 【第一版第三章】老罗Android开发视频--HTTP协议编程(4集) 【第一版第四章】老罗Android开发视频--解析XML数据(3集) 【第一版第五章】老罗Android开发视频--解析JSON数据(4集) 【第一版第六章】老罗Android开发视频--服务器端JDBC编程(2集) 【第一版第七章】老罗Android开发视频--服务器端Web编程(6集) 【第一版第八章】老罗Android开发视频-常用UI控件(33集) 【第一版第九章】老罗Android开发视频--存储数据和文件(7集) 【第一版第十章】老罗Android开发视频--对话框介绍(4集) 【第一版第十一章】老罗Android开发视频--通知的使用(2集) 【第一版第十二章】老罗Android开发视频--菜单的使用(4集) 【第一版第十三章】老罗Android开发视频--异步加载数据库(2集) 【第一版第十四章】老罗Android开发视频--多线程编程(7集) 【第一版第十五章】老罗Android开发视频--百度地图实战开发(10集)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值