1. 程式人生 > >android 百度地圖API 使用Marker和InfoWindow

android 百度地圖API 使用Marker和InfoWindow

    /**
     * 根據手錶的經緯度在地圖上設定位置,更新頂部的位置文字描述
     */
    private void updateLocation(ArrayList<GPSBean> list) {
        /**
         * 1. 新使用者預設顯示地址
         */
        double lg = 104.06; // 成都市的經緯度
        double lt = 30.67;
        String location = getResources().getString(R.string.fake_position);

        baiduMap.clear();

        List<LatLng> potions = new ArrayList<>();

        for(int i = list.size() -1; i >=0 ; i--){
            // gps 非空,則設定經緯度、位置的文字描述
            lg = Double.parseDouble(list.get(i).getLongitude());
            lt = Double.parseDouble(list.get(i).getLatitude());
            location = list.get(i).getAddress();
            //地址太長,處理下
            location = location.replace("四川省","").replace("成都市","").replace(".","");

            final LatLng ll = new LatLng(lt, lg); // 注意經緯度順序

            /**
             * 為每個足跡依據先後順序編號
             */
            int image_id = 0;
            switch (i){
                case 9: image_id = R.mipmap.icon_mark1;break;
                case 8: image_id = R.mipmap.icon_mark2;break;
                case 7: image_id = R.mipmap.icon_mark3;break;
                case 6: image_id = R.mipmap.icon_mark4;break;
                case 5: image_id = R.mipmap.icon_mark5;break;
                case 4: image_id = R.mipmap.icon_mark6;break;
                case 3: image_id = R.mipmap.icon_mark7;break;
                case 2: image_id = R.mipmap.icon_mark8;break;
                case 1: image_id = R.mipmap.icon_mark9;break;
                case 0: image_id = R.mipmap.icon_mark10;break;
            }
            BitmapDescriptor descriptor = BitmapDescriptorFactory.fromResource(image_id);
            OverlayOptions options = new MarkerOptions().position(ll).icon(descriptor).zIndex(i);
            Marker marker = (Marker) baiduMap.addOverlay(options);
            //為marker新增識別標記資訊
            Bundle bundle = new Bundle();
            bundle.putSerializable("info", list.get(i));
            marker.setExtraInfo(bundle);

            MapStatusUpdate update = MapStatusUpdateFactory.newLatLngZoom(ll,17);
            baiduMap.setMapStatus(update);
        }

為標記的marker新增監聽,點選時實現彈出infowindow。(infowindow每次最多顯示一條資訊)

相關推薦

android 地圖API 使用MarkerInfoWindow

/** * 根據手錶的經緯度在地圖上設定位置,更新頂部的位置文字描述 */ private void updateLocation(ArrayList<GPSBean> list) { /** * 1. 新使用者預設顯示地址

Android地圖開發定位路線導航

在寫之前要先加入百度地圖sdk的jar包從百度地圖開發者官網上就能下載 百度地圖sdk下載 官網(可翻牆選擇):http://developer.android.com/sdk/index.html 不可翻牆選擇:http://www.androiddevtools.cn/ 而其中用

Android地圖api呼叫

1.首先,準備工作。前往百度地圖開放平臺 註冊百度開發者賬號,建立應用,獲取API key 地址:http://lbsyun.baidu.com/apiconsole/key 建立應用需要應用的數字簽名SHA1和包名 SHA1可以通過雙擊gradle裡面的signingRe

Android 地圖api地理編碼與逆地理編碼

    何為地理編碼?何為逆地理編碼? 地理編碼:即地址解析,由詳細到街道的結構化地址得到百度經緯度資訊。 逆地理編碼:即逆地址解析,由百度經緯度資訊得到結構化地址資訊。 然後鄙視一下百度地圖a

Android 地圖 SDK v3.0.0 (三) 新增覆蓋物MarkerInfoWindow的使用

上篇部落格已經實現了地圖的定位以及結合了方向感測器使用者路痴定位方向,如果你還不清楚,請檢視:Android 百度地圖 SDK v3.0.0 (二) 定位與結合方向感測器,本章會教大家如何新增覆蓋物,實現周邊搜尋,以及對覆蓋物的點擊出現介紹等效果。效果圖:我們的需求是,當用戶

地圖API,展示地圖添加控件

空間 鼠標滾輪 比例尺 鼠標 right size ofo ext aid 1、申請百度賬號和AK 點我申請 2、準備頁面 根據HTML標準,每一份HTML文檔都應該聲明正確的文檔類型,我們建議您使用最新的符合HTML5規範的文檔聲明: <!DOCTYPE html

關於地圖APIjqGrid踩到的坑

全部 pos overlay 需要 () 顯示 最新 ren page 1、百度地圖重新標記問題 var map = new BMap.Map("map"); ...... var marker = new BMap.Marker(point); // 創

Android開發-基於地圖API開發仿滴滴出行APP介面的實現

前 言 近年來,由於移動網際網路快速的發展以及基於移動裝置的APP的普及,移動網際網路改變了人們的生活方式。從線上的電子支付到線下的出行,移動網際網路是當今社會人們生活不可或缺的一部分,而線下出行的網約車的出現極大便利了人們的出行,雖然它飽受了很大的爭議,但不可否認的是網約車的出現是

Android進階:步驟四:Android 接入地圖API 基礎實現

內容概括: 註冊申請百度地圖開發平臺賬號 這裡是地址  如何申請百度地圖的賬號也有官方文件:在這裡 申請祕鑰(AK)、快速獲取釋出版SHA1和測試版SHA1和包名 (文件裡面也有如果建立應用以及申請的教程,但在Android Studio中實現更加簡單) 百度地

使用者Ip地址地圖api介面獲取使用者地理位置(經緯度座標,城市)

<?php   //獲取使用者ip(外網ip 伺服器上可以獲取使用者外網Ip 本機ip地址只

Android 使用地圖API來顯示地圖

  http://lbsyun.baidu.com/ 進入百度地圖開放平臺,登入百度賬號 選擇應用型別為Android SDK 釋出版SHA1,和開發板SHA1的獲取方法為: 找到電腦上的.android路徑,一般都在C盤使用者目錄下, 有的

Android 地圖自定義地圖覆蓋物(Marker

  理論和高德地圖一模一樣,換個sdk而已,換湯不換藥,詳情可以參考上一篇高德地圖https://blog.csdn.net/Crystal_xing/article/details/84314359,下面只給出核心程式碼:   //自定義佈局 Vie

Android studio3.0對於地圖api開發(2)——地圖定位指定地點以及地圖型別的變換

      承接上一篇文章寫的,https://blog.csdn.net/qq_41562408/article/details/82794772已經實現了百度地圖的工具準備以及基本的地圖顯示,不過就一個地圖應用來說,只是單純的顯示一種地圖型別以及只是能夠定位到天安門其他地

Android studio3.0對於地圖api開發(3)——地圖定位當前地點以及地圖覆蓋物簡介

   承接上文,上文已經實現了按照緯經度進行地點的定位以及不同地圖型別的切換,https://blog.csdn.net/qq_41562408/article/details/82802082但是就我們普通使用者的需求來說,這遠遠不夠。使用者更希望能夠直接顯示自己的當前位置

Android studio3.0對於地圖api開發(4)——地圖地圖覆蓋物製作

       承接上文未完的繼續介紹,上文內容:https://blog.csdn.net/qq_41562408/article/details/82810484主要實現百度地圖的定位以及對於地圖覆蓋物進行簡單介紹,這篇文章便是對於地圖覆蓋物進行,經過閱讀開發文件,我們會發

Android studio3.0對於地圖api開發(6)——地圖地圖POI檢索(續)

LatLngBounds bounds=new LatLngBounds.Builder().include(new LatLng(40.048459,116.302072)) .include(new LatLng(40.050675,116.30431

Android studio3.0對於地圖api開發(7)——地圖地圖導航實現

       承接上文https://blog.csdn.net/qq_41562408/article/details/82829938,本次我們來實現百度地圖的導航功能實現。百度地圖的導航功能對於地點的確定我感覺主要是通過緯經度確定地點然後進行導航,其導航模式可分為:步行

Android studio3.0對於地圖api開發(8)——地圖開發思考

       隨著對於百度地圖SDK的不斷深入,對於百度地圖的基本操作以及實現,每一塊功能就像是一個個工具,他們功能不同,又能相互組合,這就為我們開發者提供了一個很好的平臺,在這個平臺,開發人員可以進行根據自己的需求進行組裝。為了更好的交流,相互學了,我也賺點積分吧!O(∩_

Android 地圖如何讓所有的Marker都顯示在螢幕範圍內。

前言:        高德地圖有方法直接呼叫就可以,總結下百度地圖的(直接複製就可以) 程式碼: LatLngBounds.Builder builder = new LatLngBounds.B

Android地圖開發-自定義地圖的使用

設定個性化地圖config檔案路徑 */ public static void setMapCustomFile(Context context, String PATH) { FileOutputStream out = null; InputStream inputStream = null; Strin