当前位置:操作系统 > 安卓/Android >>

Android百度地图使用

今天测了下百度地图,发现网上都给出了比较清晰的答案,但对于百度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添加权限(很重要)
 
[html]  
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />    
<uses-permission android:name="android.permission.INTERNET" />    
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />    
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />    
<uses-permission android:name="android.permission.READ_PHONE_STATE" />    
5步:布局layout 之 main.xml
[html] view plaincopy
<?xml version="1.0" encoding="utf-8"?>    
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
    android:orientation="vertical"    
    android:layout_width="fill_parent"    
    android:layout_height="fill_parent"    
    >    
    <com.baidu.mapapi.MapView android:id="@+id/map_View"    
        android:layout_width="fill_parent"    
        android:layout_height="fill_parent"    
        android:clickable="true"    
    />    
</LinearLayout>    
 
6步:开发百度地图,需要申请个Key,很简单,只需几秒钟时间即可完成。 http://developer.baidu.com/map/android-mobile-apply-key.htm
7步:示例mainActivity
 
[java] 
public class MainActivity extends MapActivity {    
    private BMapManager mapManager;    
    private MapView mapView;    
    private MapController mapController;    
    
    @Override    
    public void onCreate(Bundle savedInstanceState) {    
        super.onCreate(savedInstanceState);    
        setContentView(R.layout.main);    
    
        // init  
        mapManager = new BMapManager(getApplication());    
        
        mapManager.init("285B415EBAB2A92293E85502150ADA7F03C777C4", null); //your API key  
        super.initMapActivity(mapManager);    
    
        mapView = (MapView) findViewById(R.id.map_View);    
        // 设置地图模式为交通地图    
        mapView.setTraffic(true);    
        // 设置启用内置的缩放控件    
        mapView.setBuiltInZoomControls(true);    
    
        // 用经纬度初始化中心点  
        GeoPoint point = new GeoPoint((int) (47.118440 * 1E6), (int) (87.493147 * 1E6));    
    
        // 创建标记maker //有一个标注图片,没有上百度找一张,drawable里  
        Drawable marker = this.getResources().getDrawable(R.drawable.iconmarka);    
        // 为maker定义位置和边界    
        marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight());    
    
        // 取得地图控制器对象,用于控制MapView    
        mapController = mapView.getController();    
        // 设置地图的中心    
        mapController.setCenter(point);    
        // 设置地图默认的缩放级别    
        mapController.setZoom(12);    
    }     www.zzzyk.com
    
    @Override    
    protected boolean isRouteDisplayed() {    
        return false;    
    }    
    
    @Override    
    protected void onDestroy() {    
        if (mapManager != null) {    
            mapManager.destroy();    
            mapManager = null;    
        }    
        super.onDestroy();    
    }    
    
    @Override    
    protected void onPause() {    
        if (mapManager != null) {    
            mapManager.stop();    
        }    
        super.onPause();    
    }    
    
    @Override    
    protected void onResume() {    
        if (mapManager != null) {    
            mapManager.start();    
        }    
        super.onResume();    
    }    
}    
 
补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,