Android百度地圖 - 在地圖上標(biāo)注已知GPS緯度經(jīng)度值的一個(gè)或一組覆蓋物 - OPEN 開(kāi)發(fā)經(jīng)驗(yàn)庫(kù) - 360安全瀏覽器 8.1首頁(yè)
??
?代碼
??
?文檔
??
?問(wèn)答
??
?資訊
??
?經(jīng)驗(yàn)
??
?GitHub日?qǐng)?bào)
??登錄??
?注冊(cè)
www.open-open.com/libOPEN經(jīng)驗(yàn)投稿
全部經(jīng)驗(yàn)分類?
?Android
?IOS
?JavaScript
?HTML5
?CSS
?jQuery
?Python
?PHP
?NodeJS
?Java
?Spring
?MySQL
?MongoDB
?Redis
?NOSQL
?Vim
?C++
?C#JSON
?Ruby
?Linux
?Nginx
?Docker所有分類
??>?
?開(kāi)發(fā)語(yǔ)言與工具
??>?
?移動(dòng)開(kāi)發(fā)
??>?
?Android開(kāi)發(fā)
Android百度地圖 - 在地圖上標(biāo)注已知GPS緯度經(jīng)度值的一個(gè)或一組覆蓋物
Android??
?2013-03-31 11:50:10 發(fā)布收藏????
?5收藏闡述一個(gè)概念,地圖覆蓋物:所有疊加或覆蓋到地圖的內(nèi)容,我們統(tǒng)稱為地圖覆蓋物。如標(biāo)注、矢量圖形元素(包括:折線和多邊形和圓)、定位圖標(biāo)等。覆蓋物擁有自己的地理坐標(biāo),當(dāng)您拖動(dòng)或縮放地圖時(shí),它們會(huì)相應(yīng)的移動(dòng)。
要實(shí)現(xiàn)的需求:假如我們知道北京天安門(建筑物)的GPS緯度經(jīng)度值:39.915,116.404,想要把它在百度地圖上標(biāo)注出來(lái)。
實(shí)現(xiàn)上述需求的步驟:
一、準(zhǔn)備工作:
???????? 1、創(chuàng)建android工程,并導(dǎo)入百度地圖需要用到的jar包和so文件。
???????? 2、在AndroidManifest文件中添加使用百度地圖SDK所需的權(quán)限及屏幕配置。
???????? 3、在布局文件layout中添加顯示百度地圖的MapView。
?????????4、在繼承了Activity類的子類中:
??????????????? a.?創(chuàng)建并初始化地圖引擎管理對(duì)象;
??????????????? b. 通過(guò)組件ID獲取代表地圖顯示View的MapView對(duì)象,并設(shè)置相應(yīng)屬性。
??????????????????(比如:啟用內(nèi)置的縮放控件、設(shè)置允許的地圖縮放級(jí)別等)
??????????????? c.?重寫Activity的生命周期回調(diào)方法onResume()、onPause()和onDestroy(),管理地圖引擎管理類對(duì)象和顯示對(duì)象生命周期。
二、在地圖上標(biāo)注出北京天安門:
???????? 1、想要在地圖上標(biāo)注一個(gè)建筑物,總得有一個(gè)標(biāo)識(shí)吧?
?????????????? 獲取在地圖上標(biāo)識(shí)建筑物的圖標(biāo)對(duì)象:
// 獲取用于在地圖上標(biāo)注一個(gè)地理坐標(biāo)點(diǎn)的圖標(biāo)Drawable drawable = this.getResources().getDrawable(R.drawable.icon_marka);
?????????????2、在基礎(chǔ)圖上添加覆蓋物(添加圖層)
??????????????? a. 編寫覆蓋物類,自己定義一個(gè)類,繼承自ItemizedOverlay類,需要重寫父類的構(gòu)造函數(shù)、createItem(int index)和size()方法。
????????????????注:從2.0.0開(kāi)始,SDK不支持直接繼承Overlay , 用戶可通過(guò)繼承ItemizedOverlay來(lái)添加覆蓋物。
????????????????b. 在自定義的覆蓋物類(繼承自ItemizedOverlay)中,?聲明一個(gè)用于存放覆蓋物的集合:
/**覆蓋物列表集合*/private ArrayList mOverlayList = new ArrayList();
?????????????????????聲明double類型的變量存儲(chǔ)北京天安門的緯度、經(jīng)度值:
// 聲明double類型的變量存儲(chǔ)北京天安門的緯度、經(jīng)度值private double mLat1 = 39.915; // point1緯度private double mLon1 = 116.404; // point1經(jīng)度
???????????????????c. 在構(gòu)造函數(shù)中,將GPS緯度經(jīng)度值轉(zhuǎn)換成以微度的整數(shù)形式存儲(chǔ)的地理坐標(biāo)點(diǎn)
/* 注:GeoPoint對(duì)象構(gòu)造方法的參數(shù)列表:第一個(gè)是參數(shù)表示緯度,第二個(gè)是經(jīng)度(我們平時(shí)都是經(jīng)緯度這么叫的,想著應(yīng)該是經(jīng)度在前的,呵呵。)在網(wǎng)上查了下,GPS的值官方給的就是緯度經(jīng)度,也就是說(shuō)緯度是在前的,以前一直沒(méi)太注意。*/GeoPoint geoPoint1 = new GeoPoint((int) (mLat1 * 1E6), (int) (mLon1 * 1E6));
?????????????????????? 構(gòu)造OverlayItem對(duì)象并添加到mOverlayList集合里
mOverlayList.add(new OverlayItem(geoPoint1, "point1", "point1"));
???????????????????? ?必須調(diào)用的方法:
/* * 官方的解釋:在一個(gè)新ItemizedOverlay上執(zhí)行所有操作的工具方法。* 沒(méi)搞明白啥意思,但是必須的調(diào)用這個(gè)方法,否則程序運(yùn)行報(bào)錯(cuò)*/populate();
????????????????? ?d. 返回的是從指定List集合中,取出的一個(gè)OverlayItem對(duì)象。
/** 返回的是從指定List集合中,取出的一個(gè)OverlayItem對(duì)象。* mOverlayList集合里一旦有了數(shù)據(jù),在調(diào)用其之前,* 一定的在MyOverlayItem的構(gòu)造函數(shù)里調(diào)用這個(gè)方法populate();*/@Overrideprotected OverlayItem createItem(int index) {return mOverlayList.get(index);}
????????????????? ?e. 獲取當(dāng)前覆蓋物列表的大小
@Overridepublic int size() {return mOverlayList.size();}
????????????????? 自定義的覆蓋物類的完整代碼:
/*** 包含了一個(gè)覆蓋物列表的覆蓋物類* @author android_ls*/final class MyOverlayItem extends ItemizedOverlay {/**覆蓋物列表集合*/private ArrayList mOverlayList = new ArrayList();// 聲明double類型的變量存儲(chǔ)北京天安門的緯度、經(jīng)度值private double mLat1 = 39.915; // point1緯度private double mLon1 = 116.404; // point1經(jīng)度// 傳進(jìn)來(lái)的Drawable對(duì)象用于在地圖上標(biāo)注一個(gè)地理坐標(biāo)點(diǎn)public MyOverlayItem(Drawable drawable) {super(drawable);// 將GPS緯度經(jīng)度值轉(zhuǎn)換成以微度的整數(shù)形式存儲(chǔ)的地理坐標(biāo)點(diǎn)/* 注:GeoPoint對(duì)象構(gòu)造方法的參數(shù)列表:第一個(gè)是參數(shù)表示緯度,第二個(gè)是經(jīng)度(我們平時(shí)都是經(jīng)緯度這么叫的,想著應(yīng)該是經(jīng)度在前的,呵呵。)在網(wǎng)上查了下,GPS的值官方給的就是緯度經(jīng)度,也就是說(shuō)緯度是在前的,以前一直沒(méi)太注意。*/GeoPoint geoPoint1 = new GeoPoint((int) (mLat1 * 1E6), (int) (mLon1 * 1E6));// 構(gòu)造OverlayItem對(duì)象并添加到mOverlayList集合里mOverlayList.add(new OverlayItem(geoPoint1, "point1", "point1"));/* * 官方的解釋:在一個(gè)新ItemizedOverlay上執(zhí)行所有操作的工具方法。* 沒(méi)搞明白啥意思,但是必須的調(diào)用這個(gè)方法,否則程序運(yùn)行報(bào)錯(cuò)*/populate();}/** 返回的是從指定List集合中,取出的一個(gè)OverlayItem對(duì)象。* mOverlayList集合里一旦有了數(shù)據(jù),在調(diào)用其之前,* 一定的在MyOverlayItem的構(gòu)造函數(shù)里調(diào)用這個(gè)方法populate();*/@Overrideprotected OverlayItem createItem(int index) {return mOverlayList.get(index);}@Overridepublic int size() {return mOverlayList.size();}}
??????????? 創(chuàng)建覆蓋物(MyOverlayItem)對(duì)象并添加到覆蓋物列表中:
mMapView.getOverlays().add(new MyOverlayItem(drawable));
???????? 3、刷新地圖
mMapView.refresh();
運(yùn)行效果圖如下:
完整代碼:
package com.android.baidu.map;import java.util.ArrayList;import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.Toast;import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.MKGeneralListener;
import com.baidu.mapapi.map.ItemizedOverlay;
import com.baidu.mapapi.map.MKEvent;
import com.baidu.mapapi.map.MapController;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.OverlayItem;
import com.baidu.platform.comapi.basestruct.GeoPoint;/*** 在地圖上標(biāo)注已知GPS緯度經(jīng)度值的建筑物* 場(chǎng)景:假如我們知道北京天安門(建筑物)的GPS緯度經(jīng)度值:39.915,116.404,想要把它在地圖上標(biāo)注出來(lái)。* @author android_ls**/
public class BaiduMapOverlayActivity extends Activity {/**地圖引擎管理類*/private BMapManager mBMapManager = null;/**顯示地圖的View*/private MapView mMapView = null;/*** 經(jīng)研究發(fā)現(xiàn)在申請(qǐng)KEY時(shí):應(yīng)用名稱一定要寫成my_app_應(yīng)用名(也就是說(shuō)"my_app_"是必須要有的)。* 百度地圖SDK提供的服務(wù)是免費(fèi)的,接口無(wú)使用次數(shù)限制。您需先申請(qǐng)密鑰(key),才可使用該套SDK。* */public static final String BAIDU_MAP_KEY = "07418AEC69BAAB7104C6230A6120C580DFFAEEBB";@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 注意:請(qǐng)?jiān)谡{(diào)用setContentView前初始化BMapManager對(duì)象,否則會(huì)報(bào)錯(cuò)mBMapManager = new BMapManager(this.getApplicationContext());mBMapManager.init(BAIDU_MAP_KEY, new MKGeneralListener() {@Overridepublic void onGetNetworkState(int iError) {if (iError == MKEvent.ERROR_NETWORK_CONNECT) {Toast.makeText(BaiduMapOverlayActivity.this.getApplicationContext(), "您的網(wǎng)絡(luò)出錯(cuò)啦!",Toast.LENGTH_LONG).show();}}@Overridepublic void onGetPermissionState(int iError) {if (iError == MKEvent.ERROR_PERMISSION_DENIED) {// 授權(quán)Key錯(cuò)誤:Toast.makeText(BaiduMapOverlayActivity.this.getApplicationContext(),"請(qǐng)?jiān)?DemoApplication.java文件輸入正確的授權(quán)Key!",Toast.LENGTH_LONG).show();}}});setContentView(R.layout.main);mMapView = (MapView) this.findViewById(R.id.bmapsView);// 設(shè)置啟用內(nèi)置的縮放控件mMapView.setBuiltInZoomControls(true);// 獲取地圖控制器,可以用它控制平移和縮放MapController mMapController = mMapView.getController();// 設(shè)置地圖的縮放級(jí)別。 這個(gè)值的取值范圍是[3,18]。 mMapController.setZoom(13);// 獲取用于在地圖上標(biāo)注一個(gè)地理坐標(biāo)點(diǎn)的圖標(biāo)Drawable drawable = this.getResources().getDrawable(R.drawable.icon_marka);// 創(chuàng)建覆蓋物(MyOverlayItem)對(duì)象并添加到覆蓋物列表中mMapView.getOverlays().add(new MyOverlayItem(drawable));// 刷新地圖mMapView.refresh();}/*** 包含了一個(gè)覆蓋物列表的覆蓋物類* @author android_ls*/final class MyOverlayItem extends ItemizedOverlay {/**覆蓋物列表集合*/private ArrayList mOverlayList = new ArrayList();// 聲明double類型的變量存儲(chǔ)北京天安門的緯度、經(jīng)度值private double mLat1 = 39.915; // point1緯度private double mLon1 = 116.404; // point1經(jīng)度// 傳進(jìn)來(lái)的Drawable對(duì)象用于在地圖上標(biāo)注一個(gè)地理坐標(biāo)點(diǎn)public MyOverlayItem(Drawable drawable) {super(drawable);// 將GPS緯度經(jīng)度值轉(zhuǎn)換成以微度的整數(shù)形式存儲(chǔ)的地理坐標(biāo)點(diǎn)/* 注:GeoPoint對(duì)象構(gòu)造方法的參數(shù)列表:第一個(gè)是參數(shù)表示緯度,* 第二個(gè)是經(jīng)度(我們平時(shí)都是經(jīng)緯度這么叫的,想著應(yīng)該是經(jīng)度在前的,呵呵。)* 在網(wǎng)上查了下,GPS的值官方給的就是緯度經(jīng)度,也就是說(shuō)緯度是在前的,以前一直沒(méi)太注意。*/GeoPoint geoPoint1 = new GeoPoint((int) (mLat1 * 1E6), (int) (mLon1 * 1E6));// 構(gòu)造OverlayItem對(duì)象并添加到mOverlayList集合里mOverlayList.add(new OverlayItem(geoPoint1, "point1", "point1"));/* * 官方的解釋:在一個(gè)新ItemizedOverlay上執(zhí)行所有操作的工具方法。* 沒(méi)搞明白啥意思,但是必須的調(diào)用這個(gè)方法,否則程序運(yùn)行報(bào)錯(cuò)*/populate();}/** 返回的是從指定List集合中,取出的一個(gè)OverlayItem對(duì)象。* mOverlayList集合里一旦有了數(shù)據(jù),在調(diào)用其之前,* 一定的在MyOverlayItem的構(gòu)造函數(shù)里調(diào)用這個(gè)方法populate();*/@Overrideprotected OverlayItem createItem(int index) {return mOverlayList.get(index);}@Overridepublic int size() {return mOverlayList.size();}}// 重寫以下方法,管理API@Overrideprotected void onResume() {mMapView.onResume();if (mBMapManager != null) {mBMapManager.start();}super.onResume();}@Overrideprotected void onPause() {mMapView.onPause();if (mBMapManager != null) {mBMapManager.stop();}super.onPause();}@Overrideprotected void onDestroy() {mMapView.destroy();if (mBMapManager != null) {mBMapManager.destroy();mBMapManager = null;}super.onDestroy();}
}
三、在地圖上標(biāo)注出北京天安門附近的幾個(gè)點(diǎn):
從2.0.0開(kāi)始,SDK不支持直接繼承Overlay?。 在地圖上顯示一個(gè)或一組覆蓋物,都可以通過(guò)繼承ItemizedOverlay來(lái)添加覆蓋物。
在上面講解的基礎(chǔ)上,修改覆蓋物類的部分代碼就可以了。直接上代碼:
class MyOverlayItem extends ItemizedOverlay {/**覆蓋物列表集合*/private ArrayList mOverlayList = new ArrayList();// 場(chǎng)景:假如我們有一組建筑物的GPS經(jīng)緯度值,想要把這些建筑物在地圖上標(biāo)注出來(lái)。private double mLat1 = 39.90923; // point1緯度private double mLon1 = 116.397428; // point1經(jīng)度private double mLat2 = 39.9022;// point2緯度private double mLon2 = 116.3922; // point2經(jīng)度private double mLat3 = 39.917723; // point3緯度private double mLon3 = 116.3722; // point3緯度private double mLat4 = 39.915; // point4緯度private double mLon4 = 116.404; // point4經(jīng)度// 傳進(jìn)來(lái)的Drawable對(duì)象用于在地圖上標(biāo)注一個(gè)地理坐標(biāo)點(diǎn)public MyOverlayItem(Drawable drawable) {super(drawable);// 將GPS緯度經(jīng)度值轉(zhuǎn)換成以微度的整數(shù)形式存儲(chǔ)的地理坐標(biāo)點(diǎn)/* 注:GeoPoint對(duì)象構(gòu)造方法的參數(shù)列表:第一個(gè)是參數(shù)表示緯度,第二個(gè)是經(jīng)度(我們平時(shí)都是經(jīng)緯度這么叫的,想著應(yīng)該是經(jīng)度在前的,呵呵。)在網(wǎng)上查了下,GPS的值官方給的就是緯度經(jīng)度,也就是說(shuō)緯度是在前的,以前一直沒(méi)太注意。*/GeoPoint geoPoint1 = new GeoPoint((int) (mLat1 * 1E6), (int) (mLon1 * 1E6));GeoPoint geoPoint2 = new GeoPoint((int) (mLat2 * 1E6), (int) (mLon2 * 1E6));GeoPoint geoPoint3 = new GeoPoint((int) (mLat3 * 1E6), (int) (mLon3 * 1E6));GeoPoint geoPoint4 = new GeoPoint((int) (mLat4 * 1E6), (int) (mLon4 * 1E6));// 構(gòu)造OverlayItem對(duì)象并添加到mOverlayList集合里mOverlayList.add(new OverlayItem(geoPoint1, "point1", "point1"));mOverlayList.add(new OverlayItem(geoPoint2, "point2", "point2"));mOverlayList.add(new OverlayItem(geoPoint3, "point3", "point3"));mOverlayList.add(new OverlayItem(geoPoint4, "point4", "point4"));// 必須的調(diào)用這個(gè)方法,否則程序運(yùn)行報(bào)錯(cuò)populate();}/** 返回的是從指定List集合中,取出的一個(gè)OverlayItem對(duì)象。* mOverlayList集合里一旦有了數(shù)據(jù),在調(diào)用其之前,* 一定的在MyOverlayItem的構(gòu)造函數(shù)里調(diào)用這個(gè)方法populate();*/@Overrideprotected OverlayItem createItem(int index) {return mOverlayList.get(index);}@Overridepublic int size() {return mOverlayList.size();}}
對(duì)代碼進(jìn)行優(yōu)化:
GPSPonit 實(shí)體類:
package com.android.baidu.map.entity;/**
* 類名: Ponit.java
* 功能描述:存放GPS緯度、經(jīng)度值
* @author android_ls
* 創(chuàng)建日期: 2013-2-10 下午07:43:47
* @version V1.0
*/
public class GPSPonit {private double mLat; // 緯度private double mLon; // 經(jīng)度public double getmLat() {return mLat;}public void setmLat(double mLat) {this.mLat = mLat;}public double getmLon() {return mLon;}public void setmLon(double mLon) {this.mLon = mLon;}public GPSPonit(double mLat, double mLon) {this.mLat = mLat;this.mLon = mLon;}public GPSPonit() {}@Overridepublic String toString() {return "Ponit [mLat=" + mLat + ", mLon=" + mLon + "]";}}
優(yōu)化后的Activity類:
package com.android.baidu.map;import java.util.ArrayList;import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.Toast;import com.android.baidu.map.entity.GPSPonit;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.MKGeneralListener;
import com.baidu.mapapi.map.ItemizedOverlay;
import com.baidu.mapapi.map.MKEvent;
import com.baidu.mapapi.map.MapController;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.OverlayItem;
import com.baidu.platform.comapi.basestruct.GeoPoint;/*** 在地圖上標(biāo)注已知GPS緯度經(jīng)度值的一組建筑物* @author android_ls**/
public class BaiduMapOverlayItemsActivity extends Activity {/**地圖引擎管理類*/private BMapManager mBMapManager = null;/**顯示地圖的View*/private MapView mMapView = null;/*** 經(jīng)研究發(fā)現(xiàn)在申請(qǐng)KEY時(shí):應(yīng)用名稱一定要寫成my_app_應(yīng)用名(也就是說(shuō)"my_app_"是必須要有的)。* 百度地圖SDK提供的服務(wù)是免費(fèi)的,接口無(wú)使用次數(shù)限制。您需先申請(qǐng)密鑰(key),才可使用該套SDK。* */public static final String BAIDU_MAP_KEY = "07418AEC69BAAB7104C6230A6120C580DFFAEEBB";@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 注意:請(qǐng)?jiān)谡{(diào)用setContentView前初始化BMapManager對(duì)象,否則會(huì)報(bào)錯(cuò)mBMapManager = new BMapManager(this.getApplicationContext());mBMapManager.init(BAIDU_MAP_KEY, new MKGeneralListener() {@Overridepublic void onGetNetworkState(int iError) {if (iError == MKEvent.ERROR_NETWORK_CONNECT) {Toast.makeText(BaiduMapOverlayItemsActivity.this.getApplicationContext(),"您的網(wǎng)絡(luò)出錯(cuò)啦!", Toast.LENGTH_LONG).show();}}@Overridepublic void onGetPermissionState(int iError) {if (iError == MKEvent.ERROR_PERMISSION_DENIED) {// 授權(quán)Key錯(cuò)誤:Toast.makeText(BaiduMapOverlayItemsActivity.this.getApplicationContext(), "請(qǐng)?jiān)?DemoApplication.java文件輸入正確的授權(quán)Key!", Toast.LENGTH_LONG).show();}}});setContentView(R.layout.main);mMapView = (MapView) this.findViewById(R.id.bmapsView);// 設(shè)置啟用內(nèi)置的縮放控件mMapView.setBuiltInZoomControls(true);// 獲取地圖控制器,可以用它控制平移和縮放MapController mMapController = mMapView.getController();// 設(shè)置地圖的縮放級(jí)別。 這個(gè)值的取值范圍是[3,18]。 mMapController.setZoom(13);//TODO 構(gòu)建一組數(shù)據(jù)GPSPonit gp1 = new GPSPonit(39.90923, 116.397428);GPSPonit gp2 = new GPSPonit(39.9022, 116.3922);GPSPonit gp3 = new GPSPonit(39.917723, 116.3722);GPSPonit gp4 = new GPSPonit(39.915, 116.404);/**存放GPS緯度、經(jīng)度值的數(shù)組*/GPSPonit[] mGPSPonit = new GPSPonit[4];mGPSPonit[0] = gp1;mGPSPonit[1] = gp2;mGPSPonit[2] = gp3;mGPSPonit[3] = gp4;Drawable drawable = this.getResources().getDrawable(R.drawable.icon_marka);// 創(chuàng)建覆蓋物(MyOverlayItem)對(duì)象并添加到覆蓋物列表中mMapView.getOverlays().add(new MyOverlayItem(drawable, mGPSPonit));// 刷新地圖mMapView.refresh();}final class MyOverlayItem extends ItemizedOverlay {/**覆蓋物列表集合*/private ArrayList mOverlayList = new ArrayList();// 場(chǎng)景:假如我們有一組建筑物的GPS經(jīng)緯度值,想要把這些建筑物在地圖上標(biāo)注出來(lái)。// 傳進(jìn)來(lái)的Drawable對(duì)象用于在地圖上標(biāo)注一個(gè)地理坐標(biāo)點(diǎn)public MyOverlayItem(Drawable drawable, GPSPonit[] gPSPonit) {super(drawable);for(int i = 0; i < gPSPonit.length; i++){GPSPonit gpp = gPSPonit[i];GeoPoint geoPoint = new GeoPoint((int) (gpp.getmLat() * 1E6),(int) (gpp.getmLon() * 1E6));mOverlayList.add(new OverlayItem(geoPoint, "point"+i, "point1"+i));}// 必須的調(diào)用這個(gè)方法,否則程序運(yùn)行報(bào)錯(cuò)populate();}/** 返回的是從指定List集合中,取出的一個(gè)OverlayItem對(duì)象。* mOverlayList集合里一旦有了數(shù)據(jù),在調(diào)用其之前,* 一定的在MyOverlayItem的構(gòu)造函數(shù)里調(diào)用這個(gè)方法populate();*/@Overrideprotected OverlayItem createItem(int index) {return mOverlayList.get(index);}@Overridepublic int size() {return mOverlayList.size();}}// 重寫以下方法,管理API@Overrideprotected void onResume() {mMapView.onResume();if (mBMapManager != null) {mBMapManager.start();}super.onResume();}@Overrideprotected void onPause() {mMapView.onPause();if (mBMapManager != null) {mBMapManager.stop();}super.onPause();}@Overrideprotected void onDestroy() {mMapView.destroy();if (mBMapManager != null) {mBMapManager.destroy();mBMapManager = null;}super.onDestroy();}
}
運(yùn)行效果圖如下:
來(lái)自:http://blog.csdn.net/android_ls/article/details/8578044
同類熱門經(jīng)驗(yàn)
上百個(gè)Android開(kāi)源項(xiàng)目分享android json解析及簡(jiǎn)單例子Android 軟件自動(dòng)更新功能的實(shí)現(xiàn)自定義 Android 對(duì)話框 (AlertDialog) 的樣式adb shell 命令詳解android定位和地圖開(kāi)發(fā)實(shí)例閱讀目錄
相關(guān)文檔? — 更多- Android課程-百度地圖.docx
- 百度地圖API開(kāi)發(fā)詳解(Android版).pdf
- Android GPS定位.pdf
- 百度地圖移動(dòng)版API for android 開(kāi)發(fā)指南.pdf
- Baidu map (百度地圖)Android平臺(tái)/開(kāi)發(fā)指南.doc
- Android 應(yīng)用使用百度定位.docx
- 基于android移動(dòng)平臺(tái)和gps應(yīng)用服務(wù)研究.pdf
- Android開(kāi)發(fā)中GPS應(yīng)用的入門.docx
- android定位和地圖開(kāi)發(fā)實(shí)例.docx
- 【Android系統(tǒng)原理與開(kāi)發(fā)要點(diǎn)詳解】Android的連接部分.pdf
- 基于Android的智能手機(jī)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- Android 中文合集(126+8 篇).pdf
- MapABC 地圖API Android版v5.3 開(kāi)發(fā)指南.pdf
- 百度Android開(kāi)發(fā)面試題.doc
- Android開(kāi)發(fā)工程師必殺技.doc
- Android GPS 定位以及Google地圖的使用---整個(gè)詳細(xì)流程.doc
- Android GPS定位以及Google地圖的使用---整個(gè)詳細(xì)流程.doc
- 基于android和google map的地圖定位.doc
- Android游戲開(kāi)發(fā)20回合.doc
- 基于 Android 平臺(tái)手機(jī)界面?zhèn)€性化定制系.pdf
| 相關(guān)經(jīng)驗(yàn)? — 更多- Android百度地圖 - 路徑規(guī)劃(駕車、步行和公交線路搜索)
- GitHub 優(yōu)秀的 Android 開(kāi)源項(xiàng)目
- Android百度地圖 - 搜索服務(wù)之周邊檢索
- Android 百度地圖-實(shí)現(xiàn)POI的搜索(搜索周邊)
- 初探 Android 百度地圖SDK版本v2.0.0
- iOS開(kāi)發(fā)者必備:自己總結(jié)的iOS、mac開(kāi)源項(xiàng)目及庫(kù)
- Android 平臺(tái)上編程實(shí)現(xiàn) GPS 定位
- Android 的 Mapview & Location 使用教程
- Android 百度地圖 SDK v3.0.0 (三) 添加覆蓋物Marker與InfoWindow的使用
- Android百度地圖之地址信息和坐標(biāo)的轉(zhuǎn)換
- 用HTML5/CSS3/JS開(kāi)發(fā)Android/IOS應(yīng)用框架大全
- Android GPS應(yīng)用程序設(shè)計(jì)
- iOS、mac開(kāi)源項(xiàng)目及庫(kù)匯總
- iOS及Mac開(kāi)源項(xiàng)目和學(xué)習(xí)資料【超級(jí)全面】
| 相關(guān)討論? — 更多- Android 訪問(wèn)權(quán)限許可大全
- Android 簡(jiǎn)介
- properties"表在checkin數(shù)據(jù)
- 關(guān)于HTML5特性的一些限制與討論
- 關(guān)于編程學(xué)習(xí)的七點(diǎn)思索
- Android 開(kāi)發(fā)的昨天、今天和明天
- 什么才算是真正的編程能力?
|
?2006-2016 深度開(kāi)源浙ICP備09019653號(hào)-31
?站長(zhǎng)統(tǒng)計(jì) null
轉(zhuǎn)載于:https://www.cnblogs.com/Jxiaobai/p/6618386.html
總結(jié)
以上是生活随笔為你收集整理的Android百度地图 - 在地图上标注已知GPS纬度经度值的一个或一组覆盖物 - OPEN 开发经验库 - 360安全浏览器 8.1...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。