使用百度地图SDK 这是之前版本 现在的sdk v2-1-2使用方法完全改变

1、添加BMapApiDemoApp.java

 

2、AndroidManifest文件  application里添加  android:name=".ui.BMapApiDemoApp"

    <application android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:name=".ui.BMapApiDemoApp"
             android:debuggable="true">

 

3、xml 布局文件里添加

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

 

4、java文件 继承MapActivity

override  onPause、onResume、isRouteDisplayed等函数

 

5、初始化地图、添加标记物

 private void initMap() {
        app = (BMapApiDemoApp) this.getApplication();
        if (app.mBMapMan == null) {
            app.mBMapMan = new BMapManager(getApplication());
            app.mBMapMan.init(app.mStrKey,
                    new BMapApiDemoApp.MyGeneralListener());
        }
        app.mBMapMan.start();
        // 如果使用地图SDK,请初始化地图Activity
        super.initMapActivity(app.mBMapMan);

    
        MapViewStoreInfo.getController().setCenter(setMapCenter());
        marker = getResources().getDrawable(
                R.drawable.map_marker); // 得到需要标在地图上的资源
        marker.setBounds(0, 0, marker.getIntrinsicWidth(),
                marker.getIntrinsicHeight()); // 为maker定义位置和边界
        
        MapViewStoreInfo.getOverlays().clear();
        MapViewStoreInfo.getOverlays().add(
                new OverItemT(marker,StoreInfoActivity.this,setMapCenter()));
        MapViewStoreInfo.invalidate();
    }

 

6、下方添加标记物类

class OverItemT extends ItemizedOverlay<OverlayItem>{
        private List<OverlayItem> mGeoList = new ArrayList<OverlayItem>();

        public OverItemT(Drawable marker, Context context, GeoPoint pt) {
            super(boundCenterBottom(marker));
            
            mGeoList.add(new OverlayItem(pt, "", null));

            populate();
        }

        @Override
        protected OverlayItem createItem(int i) {
            return mGeoList.get(i);
        }

        @Override
        public int size() {
            return mGeoList.size();
        }

        @Override
        public boolean onSnapToItem(int i, int j, Point point, MapView mapview) {
            Log.e("ItemizedOverlayDemo","enter onSnapToItem()!");
            return false;
        }
    }

 

 

posted @ 2013-06-28 16:17  马小豆包  阅读(438)  评论(0编辑  收藏  举报