• 百度地图学习(一):HelloWorld开始


    (一)添加百度的jar包到工程。
    首先在工程里新建libs文件夹,并API开发包里的baidumapapi.jar拷贝到libs根目录下,将libBMapApiEngine.so拷贝到libs\armeabi目录下。官网demo里已有这两个文件,如果要集成到自己的工程里,就需要自己添加。然后在工程属性->Java Build Path->Libraries中选择“Add External JARs”,选定baidumapapi.jar,确定就行。

    (二)在Manifest中添加使用权限

       

     <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>

    (三)在Manifest中添加Android版本支持

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

    (四)让创建的地图Activity继承com.baidu.mapapi.MapActivity, 并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.MKSuggestionResult;
    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;
     
    public class MyMapActivity extends MapActivity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        }
     
        @Override
        protected boolean isRouteDisplayed() {
            return false;
        }
    }

    (五)在布局xml中添加地图控件

    <?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">
        <TextView android:layout_width="fill_parent"
            android:layout_height="wrap_content" android:text="@string/hello" />
        <com.baidu.mapapi.MapView android:id="@+id/bmapsView"
            android:layout_width="fill_parent" android:layout_height="fill_parent"
            android:clickable="true" />
    </LinearLayout>

    (六) 初始化地图Activity/使用key

      在地图Activity中定义变量: BMapManager mBMapMan = null; 在onCreate方法中增加以下代码,并将您申请的Key替换“我的Key”:

      

     mBMapMan = new BMapManager(getApplication());
    mBMapMan.init("我的Key", 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级别

    (七)Override以下方法,管理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();
    }
       
       

    源码
  • 相关阅读:
    C/C++ 库函数 是否调用 WinAPI
    获得图形的实际坐标值
    电影
    adobe flash player 下载地址
    加速软件
    电影_排行榜
    transform
    MyEclipse
    Android
    AAA
  • 原文地址:https://www.cnblogs.com/andgoo/p/2771498.html
Copyright © 2020-2023  润新知