百度地圖多點定位

由於項目需要 在網上找百度地圖多點定位的時候老費勁了 現在整理下貼出來 分享

1:定位的overlay

    public class MyOverlayItem extends ItemizedOverlay<OverlayItem> {
        private List<OverlayItem> list = new ArrayList<OverlayItem>();
        public MyOverlayItem(Drawable arg0) {
            super(arg0);
                GeoPoint geoPoint1 = new GeoPoint(
                        (int) ((latitude1) * 1E6),
                        (int) ((longitude1) * 1E6));
                list.add(new OverlayItem(geoPoint1, "point1", "point1"));
                GeoPoint geoPoint2 = new GeoPoint(
                        (int) ((latitude2) * 1E6),
                        (int) ((longitude2) * 1E6));
                list.add(new OverlayItem(geoPoint2, "point1", "point1"));
                GeoPoint geoPoint3 = new GeoPoint(
                        (int) ((latitude3) * 1E6),
                        (int) ((longitude3) * 1E6));
                list.add(new OverlayItem(geoPoint3, "point1", "point1"));
            populate();// 實現了地圖刷新的功能
        }

        @Override
        protected OverlayItem createItem(int arg0) {
            // TODO Auto-generated method stub
            return list.get(arg0);
        }

        @Override
        public int size() {
            // TODO Auto-generated method stub
            return list.size();
        }

        @Override
        public boolean onTap(int i) {
            Log.v("MyOverlayItem", list.get(i).getSnippet());
            Log.v("MyOverlayItem", list.get(i).getTitle());
            return true;
        }
    }
2:用於顯示的activity

package com.aichuxing;

import java.util.ArrayList;
import java.util.List;

import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.RatingBar;
import android.widget.TextView;

import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.GeoPoint;
import com.baidu.mapapi.ItemizedOverlay;
import com.baidu.mapapi.MapActivity;
import com.baidu.mapapi.MapView;
import com.baidu.mapapi.OverlayItem;
import com.info.LocationInfo;

public class ShopMapActivity extends MapActivity {
    private static String TAG = "ShopMapActivity";
    private MapView bmapsView;
    private BMapManager mBMapMan = null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map);
        mBMapMan = new BMapManager(getApplication());
        mBMapMan.init("285B415EBAB2A92293E85502150ADA7F03C777C4", null);
        super.initMapActivity(mBMapMan);
        bmapsView = (MapView) findViewById(R.id.mapview);
        bmapsView.setBuiltInZoomControls(true);
        Intent intent = getIntent();
        Drawable drawable = getResources().getDrawable(R.drawable.pos);
        bmapsView.getOverlays().add(
                new MyOverlayItem(drawable));
    }

    @Override
    protected boolean isRouteDisplayed() {
        return false;
    }

    @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();
    }

}
3:layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >


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


</LinearLayout>

注意:A:我在我的代碼裏邊是將1放在2裏邊。所以。。。。。

          B:要將百度地圖的BaiduMapAPI.jar添加到工程中

應該就這麼多了。



發佈了33 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章