android开发之学会使用百度地图
来源:互联网 发布:淘宝 搜索 黑技术 编辑:程序博客网 时间:2024/05/23 02:01
使用地图的目的
现在开发android应用,许多时候都会遇到要使用地图,因此,掌握地图的开发是必须的。我也一直想学学如何使用地图,于是趁有时间,就认真学了一遍使用地图。呵呵,感觉蛮爽。下面我们就以百度地图的使用为例,讲解如何使用地图。
准备工作
使用百度地图前先要申请密钥(API Key)
打开电脑浏览器:百度首页更多-->站长与开发者服务(APIStore 点击进入)-->地图-->百度地图-->进入官网【http://developer.baidu.com/map/】
在这个官网,我们先要注册成为开发者,然后才能申请密钥,申请密钥在官网首页的最下面,看到了点击,然后进入:
创建应用点击之后,会有空让我们填。应用名称随便填(最好填新建的android项目名 如helloworld),应用类型选择Android SDK。最重要的就是安全码填写,它由【数字签名;包名】这种格式组成。数字签名:点击eclipse中的Window-->Preferences
箭头所指的SHA1后面的一串字符就是我们需要的数字签名,包名就是andorid项目AndroidManifest.xml中package后面的一串字符:
填好之后就能获得百度地图的密钥(API Key 简称AK),如下图:
密钥搞定,再去把百度地图Android SDK下载,放到项目中就可以进行百度地图的开发了。
下载百度地图Android SDK
还是在:百度首页更多-->站长与开发者服务(APIStore 点击进入)-->地图-->百度地图-->进入官网【http://developer.baidu.com/map/】,官网下面有一个Android开发,点击SDK下载:
SDK开发包的功能可自由组合,我就选了一个基础地图--->点击开发包-->然后就下了。解压缩会有一个libs文件夹,里面文件位置别动,就按这个位置放到android项目中的libs包下SDK就导入成功了。
————>
然后,我们就可以顺利的使用百度地图开发啦!
使用百度地图
1.在AndroidManifest.xml中添加开发秘钥和所需权限。
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="填写你申请的AK" />权限:
<!-- 百度API所需权限 --> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.BROADCAST_STICKY" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />2. 在布局文件中添加地图控件:
<com.baidu.mapapi.map.MapView android:id="@+id/bmapview" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true" />3.修改MainActivity.java
package com.example.maptest;import java.util.ArrayList;import java.util.List;import com.baidu.mapapi.SDKInitializer;import com.baidu.mapapi.map.BaiduMap;import com.baidu.mapapi.map.BaiduMap.OnMapDrawFrameCallback;import com.baidu.mapapi.map.BaiduMap.OnMarkerDragListener;import com.baidu.mapapi.map.BitmapDescriptor;import com.baidu.mapapi.map.BitmapDescriptorFactory;import com.baidu.mapapi.map.MapView;import com.baidu.mapapi.map.Marker;import com.baidu.mapapi.map.MarkerOptions;import com.baidu.mapapi.map.OverlayOptions;import com.baidu.mapapi.map.PolygonOptions;import com.baidu.mapapi.map.Stroke;import com.baidu.mapapi.map.TextOptions;import com.baidu.mapapi.model.LatLng;import android.app.Activity;import android.app.ActionBar;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.os.Build;public class MainActivity extends Activity {MapView mMapView = null;BaiduMap mBaiduMap = null;Marker marker = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main);mMapView = (MapView) findViewById(R.id.bmapView); mBaiduMap = mMapView.getMap();mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);//显示普通2D图 //mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);//显示卫星图//mBaiduMap.setTrafficEnabled(true);//开启交通图//mBaiduMap.setBaiduHeatMapEnabled(true);//开启百度热力图LatLng point = new LatLng(39.963175, 116.400244);//定义marker坐标BitmapDescriptor bitmap1 = BitmapDescriptorFactory.fromResource(R.drawable.zzlx1);//构建一个位图marker图标BitmapDescriptor bitmap2 = BitmapDescriptorFactory.fromResource(R.drawable.zzlx2);BitmapDescriptor bitmap3 = BitmapDescriptorFactory.fromResource(R.drawable.zzlx3);//OverlayOptions option = new MarkerOptions()//.position(point).icon(bitmap);//构建一个MarkerOption对象//mBaiduMap.addOverlay(option);//在百度地图上添加marker,并显示//OverlayOptions option = new MarkerOptions()//.position(point).icon(bitmap).zIndex(9).draggable(true);//mBaiduMap.addOverlay(option);//自v3.3.0版本起,SDK提供了给Marker增加帧动画的能力,具体实现方法如下: //ArrayList<BitmapDescriptor> giflist = new //ArrayList<BitmapDescriptor>();//giflist.add(bitmap1);//giflist.add(bitmap2);//giflist.add(bitmap3);////OverlayOptions option = new MarkerOptions()//.position(point).icons(giflist).draggable(true)//.zIndex(9).period(6);//mBaiduMap.addOverlay(option);//几何图形覆盖物(多边形 为例)//LatLng pt1 = new LatLng(39.93923, 116.357428);//LatLng pt2 = new LatLng(39.91923, 116.327428);//LatLng pt3 = new LatLng(39.89923, 116.347428);//LatLng pt4 = new LatLng(39.89923, 116.367428);//LatLng pt5 = new LatLng(39.91923, 116.387428);//List<LatLng> pts = new ArrayList<LatLng>();//pts.add(pt1);//pts.add(pt2);//pts.add(pt3);//pts.add(pt4);//pts.add(pt5);////构建用户绘制多边形的Option对象//OverlayOptions polygonOption = new PolygonOptions()//.points(pts).stroke(new Stroke(5, 0xAA00FF00)).fillColor(0XAAFFFF00);//mBaiduMap.addOverlay(polygonOption);//百度地图绘制多边形,并显示//文字覆盖物LatLng text = new LatLng(39.86923, 116.397428);OverlayOptions textOption = new TextOptions().bgColor(0xaaffff00).fontSize(24).fontColor(0xffff00ff).text("此树是我栽,此路是我开!").rotate(-30).position(text);mBaiduMap.addOverlay(textOption);}}
4.运行程序,就可以看到百度地图的一些效果啦!
注意:MainActivity.java中这些代码都是我按照百度的范例写的,你也可以只在MainActivity.java中添两行代码运行程序看效果:
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main);mMapView = (MapView) findViewById(R.id.bmapView); }
补充:
(1)这里我只简单的学习了百度地图,要想熟练使用,还需多多实战才行!
(2)没事一步一步学,网址:百度地图SDK的使用,把下图中的红框内容看一遍基本就差不多了,然后就是不断使用直到熟练运用它。
源代码下载,请点击这里
0 0
- android开发之学会使用百度地图
- Android开发之百度地图
- Android 百度地图开发之地图初始化
- Android 百度地图开发之地图定位
- Android开发之百度地图的使用(一)
- android百度地图开发之完善版
- Android 开发百度地图之二定位
- Android 开发百度地图之三GEO
- Android 开发百度地图之四 Poi
- android百度地图开发之定位
- Android百度地图开发之获取apikey
- Android开发笔记之百度地图定位
- Android开发之集成百度地图SDK
- android开发中百度地图的使用
- android使用百度开发平台显示地图
- 使用百度地图进行android开发
- (二)Android百度公交开发— 百度地图API之ItemizedOverlay的使用
- (三)Android百度公交开发—百度地图API之MyLocationOverlay的使用
- unity02
- 扎金花控牌绝技』╭【在线演示QQ:194714506】
- 扎金花能控牌吗」Ψ【在线演示QQ:194714506】
- 打开word时,出现“向程序发送命令时出现问题”的解决方法
- 砸金花控牌ξ」【在线演示QQ:194714506】
- android开发之学会使用百度地图
- iOS Code Signing Troubleshooting 官方测试和发布文档
- 砸金花控牌技巧▁◣【在线演示QQ:194714506】
- 数据结构与算法12: 二叉堆(Binary Heap)
- Leetcode_204_Count Primes
- 砸金花控牌教学√◢【在线演示QQ:194714506】
- ios socket传16进制参数
- Lexus Extroic OpenCart 2.X 自适应主题模板 ABC-0648-01
- spring_aop