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

Android百度地图使用

2013-03-28 18:45 260 查看
对于百度jar包调用这块还是容易犯错误

一旦出错,运行调试困难,报的错误仅仅是无法启动activity,这种情况一定要查看jar包是否正确引用

特此将开发步骤与jar的引用说明一下

1步:下载jar包,两个文件一个jar一个so文件
http://developer.baidu.com/map/sdkandev-download.htm
//右下角有个"lib库"

2步:工程内引入库,将so文件放在工程的libs/armeabi 下面 //没有请新建文件夹

将jar文件放入libs下面

3步:选择工程右键属性->java bulid path->libraries->add jars选择你的工程内libs下的jar(上步放入的) OK就完成了包的引用

4步:给manifest添加权限(很重要)

1
<
uses-permission
android:name
=
"android.permission.ACCESS_NETWORK_STATE"
/>
2
<
uses-permission
android:name
=
"android.permission.ACCESS_FINE_LOCATION"
/>
3
<
uses-permission
android:name
=
"android.permission.INTERNET"
/>
4
<
uses-permission
android:name
=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
5
<
uses-permission
android:name
=
"android.permission.ACCESS_WIFI_STATE"
/>
6
<
uses-permission
android:name
=
"android.permission.CHANGE_WIFI_STATE"
/>
7
<
uses-permission
android:name
=
"android.permission.READ_PHONE_STATE"
/>
5步:布局layout 之 main.xml

01
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
02
<
LinearLayout
xmlns:android
=
"http://schemas.android.com/apk/res/android"
03
android:orientation
=
"vertical"
04
android:layout_width
=
"fill_parent"
05
android:layout_height
=
"fill_parent"
06
>
07
<
com.baidu.mapapi.MapView
android:id
=
"@+id/map_View"
08
android:layout_width
=
"fill_parent"
09
android:layout_height
=
"fill_parent"
10
android:clickable
=
"true"
11
/>
12
</
LinearLayout
>
6步:开发百度地图,需要申请个Key,很简单,只需几秒钟时间即可完成。 http://developer.baidu.com/map/android-mobile-apply-key.htm
7步:示例mainActivity

01
public
class
MainActivity
extends
MapActivity
{
02
private
BMapManager
mapManager;
03
private
MapView
mapView;
04
private
MapController
mapController;
05
 
06
@Override
07
public
void
onCreate(Bundle
savedInstanceState) {
08
super
.onCreate(savedInstanceState);
09
setContentView(R.layout.main);
10
 
11
//
init
12
mapManager
=
new
BMapManager(getApplication());
13
 
14
mapManager.init(
"285B415EBAB2A92293E85502150ADA7F03C777C4"
,
null
);
//your
API key
15
super
.initMapActivity(mapManager);  
16
 
17
mapView
= (MapView) findViewById(R.id.map_View);
18
//
设置地图模式为交通地图
19
mapView.setTraffic(
true
);  
20
//
设置启用内置的缩放控件
21
mapView.setBuiltInZoomControls(
true
);  
22
 
23
//
用经纬度初始化中心点
24
GeoPoint
point =
new
GeoPoint((
int
)
(
47.118440
*
1E6),(
int
)
(
87.493147
*
1E6));
25
 
26
//
创建标记maker //有一个标注图片,没有上百度找一张,drawable里
27
Drawable
marker =
this
.getResources().getDrawable(R.drawable.iconmarka);  
28
//
为maker定义位置和边界
29
marker.setBounds(
0
,
0
,
marker.getIntrinsicWidth(),marker.getIntrinsicHeight());
30
 
31
//
取得地图控制器对象,用于控制MapView
32
mapController
= mapView.getController();
33
//
设置地图的中心
34
mapController.setCenter(point);  
35
//
设置地图默认的缩放级别
36
mapController.setZoom(
12
);  
37
}
38
 
39
@Override
40
protected
boolean
isRouteDisplayed()
{
41
return
false
;
42
}
43
 
44
@Override
45
protected
void
onDestroy()
{
46
if
(mapManager
!=
null
)
{
47
mapManager.destroy();  
48
mapManager
=
null
;
49
}
50
super
.onDestroy();  
51
}
52
 
53
@Override
54
protected
void
onPause()
{
55
if
(mapManager
!=
null
)
{
56
mapManager.stop();  
57
}
58
super
.onPause();  
59
}
60
 
61
@Override
62
protected
void
onResume()
{
63
if
(mapManager
!=
null
)
{
64
mapManager.start();  
65
}
66
super
.onResume();  
67
}
68
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: