1. 程式人生 > >Android百度地圖(六):百度地圖POI檢索,行政區邊界、公交、線路規劃查詢,地理編碼介紹

Android百度地圖(六):百度地圖POI檢索,行政區邊界、公交、線路規劃查詢,地理編碼介紹

上一篇文章介紹了百度鷹眼sdk監控進出圍欄的功能,本篇將詳細介紹百度地圖中POI檢索、公交查詢、行政區邊界座標獲取、兩點之間的路徑規劃和地理編碼(座標和地址之間的轉換)。

一 POI檢索

1.POI簡介
POI是興趣點的意思,地圖上標註的商鋪、飯店、學校、銀行、醫院、車站等等都是POI。

地圖上的POI是可以點選的,通過設定mBaiduMap.setOnMapClickListener監聽,在onMapPoiClick回撥方法中就可以獲取到POI資訊,包括經緯度、POI的描述等。

如果你獲取到一個位置點,那麼也可以查詢這個位置點附近的POI,接下來我們就來介紹一下如何查詢POI,包括:位置點周邊查詢、指定區域查詢、城市內查詢。

2.POI檢索api詳解

/*應用場景:輸入銀行,點選搜尋,地圖上顯示各個銀行的紅色泡泡圖示,點選銀行圖示,顯示銀行具體資訊*/

//以下都是虛擬碼
PoiSearch mPoiSearch = PoiSearch.newInstance();//初始化POI檢索
mPoiSearch.setOnGetPoiSearchResultListener(listener);//註冊搜尋事件監聽

/**
* 搜尋位置點周邊POI
*/
PoiNearbySearchOption nearbySearchOption = new PoiNearbySearchOption(); //POI附近檢索引數設定類
nearbySearchOption.keyword(keyword);//搜尋關鍵字,比如:銀行、網咖、餐廳等
nearbySearchOption.location(center);//搜尋的位置點 nearbySearchOption.radius(radius);//搜尋覆蓋半徑 nearbySearchOption.sortType(PoiSortType.distance_from_near_to_far);//搜尋型別,從近至遠 nearbySearchOption.pageNum(pageIndex);//查詢第幾頁:POI量可能會很多,會有分頁查詢; nearbySearchOption.pageCapacity(pageCapacity)//設定每頁查詢的個數,預設10個 mPoiSearch.searchNearby(nearbySearchOption);//查詢
/** * 搜尋指定區域POI */ PoiBoundSearchOption boundSearchOption = new PoiBoundSearchOption(); /** * LatLngBounds searchbound:地理範圍資料結構,兩個點就可以確定一個矩形 * southwest:西南點 * northeast:東北點 */ LatLngBounds searchbound = new LatLngBounds.Builder().include(southwest).include(northeast).build(); boundSearchOption.bound(searchbound);//設定邊界 boundSearchOption.keyword(keyword); boundSearchOption.pageNum(pageIndex); mPoiSearch.searchInBound(boundSearchOption);//查詢 /** * 搜尋城市內POI */ PoiCitySearchOption citySearchOption = new PoiCitySearchOption(); citySearchOption.city(citystr);//城市名稱,最小到區級單位 citySearchOption.keyword(keyword); citySearchOption.isReturnAddr(true);//是否返回門址類資訊:xx區xx路xx號 citySearchOption.pageNum(pageIndex); mPoiSearch.searchInCity(citySearchOption);//查詢 /** * 查詢POI結果回撥監聽器,包括周邊,區域,城市返回的搜尋結果 */ OnGetPoiSearchResultListener listener = new OnGetPoiSearchResultListener() { @Override public void onGetPoiResult(PoiResult poiResult) {//獲取Poi檢索列表 /** * PoiInfo中包含了經緯度、城市、地址資訊、poi名稱、uid、郵編、電話等等資訊; 有了這些,你是不是可以可以在這裡畫一個自定義的圖層了,然後新增點選事件,做一些操作了呢 */ List<PoiInfo> poiInfos = result.getAllPoi();//poi列表 /** * PoiAddrInfo:只包含地址、經緯度、名稱 */ List<PoiAddrInfo> PoiAddrInfos = result.getAllAddr(); } @Override public void onGetPoiDetailResult(PoiDetailResult poiDetailResult) {//獲取某個Poi詳細資訊 /** * 當執行以下請求時,此方法回撥 * PoiDetailSearchOption detailSearchOption = new PoiDetailSearchOption(); detailSearchOption.poiUid(poiInfo.uid);//設定要查詢的poi的uid mPoiSearch.searchPoiDetail(detailSearchOption);//查詢poi詳細資訊 */ //poiDetailResult裡面包含poi的巨多資訊,你想要的都有,這裡不列舉了 } @Override public void onGetPoiIndoorResult(PoiIndoorResult poiIndoorResult) { //查詢室內poi檢索結果回撥 /** * 當執行以下請求時,此方法回撥 * PoiIndoorOption indoorOption = new PoiIndoorOption(); indoorOption.poiFloor(floor);//樓層 mPoiSearch.searchPoiDetail(indoorOption); */ } } //再介紹一個推薦查詢,應用場景:百度地圖搜尋輸入:銀行,百度會給你推薦各大銀行供你選擇,點選後顯示具體位置及POI資訊 SuggestionSearch mSuggestionSearch = SuggestionSearch.newInstance();//初始化 mSuggestionSearch.setOnGetSuggestionResultListener(this);//設定監聽 SuggestionSearchOption sSption = new SuggestionSearchOption(); sSption.city(cityStr);//指定城市 sSption.keyword(keyword);//關鍵字 sSption.location(loction);//指定位置,選填,設定位置之後,返回結果按距離該位置的遠近進行排序 sSption.citylimit(true);//設定限制城市範圍,僅返回指定城市檢索結果,預設為false mSuggestionSearch.requestSuggestion(sSption); OnGetSuggestionResultListener suggestionlistener = new OnGetSuggestionResultListener() { @Override public void onGetSuggestionResult(SuggestionResult result) {//獲取推薦POI列表 /* * SuggestionInfo中包含的資訊有限,只包含:聯想詞,座標點,POI的uid等 如果想要POI的詳細資訊,還得利用uid通過mPoiSearch.searchPoiDetail獲取 */ List<SuggestionResult.SuggestionInfo> suggestionInfos = result.getAllSuggestions(); } };

效果圖


銀行poi
銀行poi
建議查詢
建議查詢

二 地理編碼

1.地理編碼簡介
地理編碼分:正向地圖編碼、反向地圖編碼
正向地理編碼:將地址資訊轉換為座標點
反向地理編碼:將座標點轉換為地址資訊

2.地理編碼api詳解

GeoCoder mSearch = GeoCoder.newInstance();//初始化地理編碼
mSearch.setOnGetGeoCodeResultListener(listener);//設定回撥監聽

ReverseGeoCodeOption reverseGeoCodeOption = new ReverseGeoCodeOption();
reverseGeoCodeOption.location(new LatLng(36.897,127.9897));//設定座標點
mSearch.reverseGeoCode(reverseGeoCodeOption);//將座標點轉換為地址資訊

GeoCodeOption geoCodeOption = new GeoCodeOption();
geoCodeOption.address(addressStr);//設定地址
geoCodeOption.city(cityStr);//設定城市
mSearch.geocode(geoCodeOption);//將地址資訊轉換為座標點

OnGetGeoCoderResultListener listener = new OnGetGeoCoderResultListener() {
        
    @Override
    public void onGetGeoCodeResult(GeoCodeResult geoCodeResult) {
        //正向地理編碼回撥,注意geoCodeResult中錯誤碼的處理
        geoCodeResult.getLocation();//座標點
        geoCodeResult.getAddress();//地址資訊
    }

    @Override
    public void onGetReverseGeoCodeResult(ReverseGeoCodeResult reverseGeoCodeResult) {
        //反向地理編碼回撥
        reverseGeoCodeResult.getAddress();//簡要地址資訊
        reverseGeoCodeResult.getAddressDetail();//層次化地址資訊
        reverseGeoCodeResult.getBusinessCircle();//所屬商圈名稱
        reverseGeoCodeResult.getPoiList();//周邊POI資訊集合
        reverseGeoCodeResult.getSematicDescription();//描述資訊
        reverseGeoCodeResult.getLocation();//座標點
    }
});

三 行政區邊界資料檢索

根據省、市、縣(區)級行政區劃名稱,查詢行政區劃的詳細邊界資訊。

DistrictSearch mDistrictSearch = DistrictSearch.newInstance();//初始化行政區檢索
mDistrictSearch.setOnDistrictSearchListener(listener );//設定回撥監聽

DistrictSearchOption districtSearchOption = new DistrictSearchOption();
districtSearchOption.cityName(cityStr);//檢索城市名稱
districtSearchOption.districtName(districtStr);//檢索的區縣名稱
mDistrictSearch.searchDistrict(districtSearchOption);//請求行政區資料

OnGetDistricSearchResultListener listener = new OnGetDistricSearchResultListener() {
            
    @Override
    public void onGetDistrictResult(DistrictResult districtResult) {
        districtResult.getCenterPt();//獲取行政區中心座標點
        districtResult.getCityName();//獲取行政區域名稱
        List<List<LatLng>> polyLines = districtResult.getPolylines();//獲取行政區域邊界座標點
        //邊界就是座標點的集合,在地圖上畫出來就是多邊形圖層。有的行政區可能有多個區域,所以會有多個點集合。
    }

};

效果圖


西城區邊界
西城區邊界

四 公交線路查詢

/**
* 公交線路查詢分兩步
* 1.根據關鍵字查詢出公交型別的poi
* 2.根據公交poi的uid查詢公交線路詳情
*/
PoiSearch mSearch = PoiSearch.newInstance();//初始化poi查詢
mSearch.setOnGetPoiSearchResultListener(poiSearchResultListener );
BusLineSearch mBusLineSearch = = BusLineSearch.newInstance();//初始化公交線路查詢
mBusLineSearch.setOnGetBusLineSearchResultListener(busLineSearchResultListener );

PoiCitySearchOption citySearchOption = new PoiCitySearchOption();
citySearchOption.city(cityStr);//城市,北京
citySearchOption.keyword(numStr);//公交路號,例:地鐵2號線
mSearch.searchInCity(citySearchOption);//查詢POI,過濾出公交型別poi

//POI回撥
OnGetPoiSearchResultListener poiSearchResultListener = new OnGetPoiSearchResultListener() {
            
    @Override
    public void onGetPoiResult(PoiResult result) {
        //遍歷所有poi,找到型別為公交線路的poi
        for (PoiInfo poi : result.getAllPoi()) {
            if (poi.type == PoiInfo.POITYPE.BUS_LINE
                    || poi.type == PoiInfo.POITYPE.SUBWAY_LINE) {
                //注意:這裡的查到公交poi都是起點
                busLineIDList.add(poi.uid);//size=2,兩個方向
            }
        }        
    }
    //...省略其他方法
};

BusLineSearchOption busLineSearchOption = new BusLineSearchOption();
busLineSearchOption.city(cityStr);//城市
busLineSearchOption.uid(uid);//公交poi的uid
mBusLineSearch.searchBusLine(busLineSearchOption);//查詢公交路線

//公交路線回撥
OnGetBusLineSearchResultListener busLineSearchResultListener = new OnGetBusLineSearchResultListener() {

    @Override
    public void onGetBusLineResult(BusLineResult result) {
        //BusLineResult包含公交:起步價、末班車時間、公交名、上行下行稱等資訊
        List<BusLineResult.BusStation> busStations = result.getStations();//公交所有站點
        for (BusLineResult.BusStation busStation : busStations){
            busStation.getTitle();//站點名稱
            busStation.getLocation();//站點座標點
        }
        List<BusLineResult.BusStep> busSteps = result.getSteps();
        //注意:這裡並不是公交路線分段資訊,而是:公交從起點到終點為一個busStep 
        for (BusLineResult.BusStep busStep : busSteps){//size=1
            busStep.getDistance();//距離,公交線路的總距離
            busStep.getDuration();//總時長
        }
    }
};

效果圖


地鐵2號線
地鐵2號線

五 兩點線路規劃

線路規劃:公交換乘、駕車、騎行和步行四種類型

RoutePlanSearch mSearch = RoutePlanSearch.newInstance();//初始化搜尋模組
mSearch.setOnGetRoutePlanResultListener(planResultListener);//註冊事件監聽

PlanNode stNode = PlanNode.withCityNameAndPlaceName("北京", "北京西站");//起始點
PlanNode enNode = PlanNode.withCityNameAndPlaceName("北京", "北京南站");//終點,PlanNode也支援輸入座標點

/**駕車路線規劃**/
DrivingRoutePlanOption drivingRoutePlanOption = new DrivingRoutePlanOption();//引數設定類
drivingRoutePlanOption.from(stNode);//設定起點
drivingRoutePlanOption.to(enNode);//設定終點
drivingRoutePlanOption.currentCity("北京");//當前城市,注意:這裡設定城市,那麼PlanNode中的城市將會被覆蓋
/**
* 路線規劃策略,列舉型別:躲避擁堵、最短距離、較少費用、時間優先
* ECAR_TIME_FIRST:時間優先
* ECAR_AVOID_JAM:躲避擁堵
* ECAR_DIS_FIRST:最短距離
* ECAR_FEE_FIRST:較少費用
*/
drivingRoutePlanOption.policy(DrivingRoutePlanOption.DrivingPolicy.ECAR_TIME_FIRST);
mSearch.drivingSearch(drivingRoutePlanOption);//查詢

/**公交線路規劃**/
TransitRoutePlanOption transitRoutePlanOption = new TransitRoutePlanOption();
transitRoutePlanOption.from(stNode);
transitRoutePlanOption.to(enNode);
transitRoutePlanOption.city("北京");
/**
* EBUS_NO_SUBWAY:不含地鐵
* EBUS_TIME_FIRST:時間優先
* EBUS_TRANSFER_FIRST:最少換乘
* EBUS_WALK_FIRST:最少步行距離
*/
transitRoutePlanOption.policy(TransitRoutePlanOption.TransitPolicy.EBUS_TIME_FIRST);//線路規劃策略:
mSearch.transitSearch(transitRoutePlanOption);//查詢

/**步行線路規劃**/
WalkingRoutePlanOption walkingRoutePlanOption = new WalkingRoutePlanOption();
walkingRoutePlanOption.from(stNode);
walkingRoutePlanOption.to(enNode);
mSearch.walkingSearch(walkingRoutePlanOption);

/**騎行線路規劃**/
BikingRoutePlanOption bikingRoutePlanOption = new BikingRoutePlanOption();
bikingRoutePlanOption.from(stNode);
bikingRoutePlanOption.to(enNode);
mSearch.bikingSearch(bikingRoutePlanOption);

/**跨城市線路規劃**/
MassTransitRoutePlanOption massTransitRoutePlanOption = new MassTransitRoutePlanOption();
massTransitRoutePlanOption.from(stNode);
massTransitRoutePlanOption.to(enNode);
massTransitRoutePlanOption.pageIndex(0);//設定返回第幾頁 從0開始
massTransitRoutePlanOption.pageSize(5);//設定每頁返回幾條路線,1~10條
//市內公交換乘策略:最短時間......等
massTransitRoutePlanOption.tacticsIncity(MassTransitRoutePlanOption.TacticsIncity.ETRANS_LEAST_TIME);        
//設定跨城交通方式策略:火車優先......等
massTransitRoutePlanOption.transtypeintercity(MassTransitRoutePlanOption.TransTypeIntercity.ETRANS_TRAIN_FIRST);
//設定跨城換乘策略:出發最早......等
massTransitRoutePlanOption.tacticsIntercity(MassTransitRoutePlanOption.TacticsIntercity.ETRANS_START_EARLY);
mSearch.masstransitSearch(massTransitRoutePlanOption);//查詢

//規劃路線回撥監聽器
OnGetRoutePlanResultListener planResultListener = new OnGetRoutePlanResultListener() {

    @Override
    public void onGetWalkingRouteResult(WalkingRouteResult result) {//步行規劃路線回撥
        if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {
            return;
        }
        if (result.error == SearchResult.ERRORNO.AMBIGUOUS_ROURE_ADDR) {
            // 起終點或途經點地址有岐義,通過以下介面獲取建議查詢資訊
            // result.getSuggestAddrInfo()
            return;
        }

        List<WalkingRouteLine> walkingRouteLines = result.getRouteLines();//獲取規劃路線列表
        for (WalkingRouteLine walkingRouteLine : walkingRouteLines) {//多條規劃路線
            walkingRouteLine.getDistance();//該路線距離
            walkingRouteLine.getDuration();//時長
            walkingRouteLine.getStarting();//獲取起點
            walkingRouteLine.getTerminal();//獲取終點
            List<WalkingRouteLine.WalkingStep> walkingSteps = walkingRouteLine.getAllStep();//每條規劃路線含多個路段
            for (WalkingRouteLine.WalkingStep walkingStep : walkingSteps) {
                walkingStep.getEntrance();//該步段起點
                walkingStep.getExit();//終點
                walkingStep.getWayPoints();//該步段起點與終點中間的點,步段有可能不是直線,折線的話有多個點
                ...
            }
        }
    }

    @Override
    public void onGetTransitRouteResult(TransitRouteResult result) {//公交路線規劃回撥
        ...省略,同上
        List<TransitRouteLine> transitRouteLines = result.getRouteLines();//獲取規劃路線列表
        for (TransitRouteLine transitRouteLine : transitRouteLines){
            /**
           * 每條規劃路線含多個TransitStep,這裡要注意的是:比如從北京西站到南站,一共有3個路段
           * 乘坐地鐵7號線(焦化廠方向),經過4站,到達菜市口站:第一個步段,乘坐7號線
           * 站內換乘地鐵4號線大興線(天宮院方向):第二個步段,步行到4號線
           * 乘坐地鐵4號線大興線(天宮院方向),經過2站,到達北京南站:第三個步段,乘坐4號線
           * 所以每換一個線路就是一個路段,步行不論距離長短也算一個路段
           */
            List<TransitRouteLine.TransitStep> transitSteps = transitRouteLine.getAllStep();();
            transitStep.getInstructions();//每段路線的乘坐資訊
            transitStep.getVehicleInfo();//每段路線站點、票價等資訊
            transitStep.getWayPoints();//該路段起點與終點中間的點,路段有可能不是直線,折線的話有多個點

            ...省略,同上
        }
    }

    @Override
    public void onGetMassTransitRouteResult(MassTransitRouteResult result) {//跨城市路線規劃回撥
        ...
        result.getOrigin();//起點,含:座標,城市資訊等
        result.getDestination();//終點
        List<MassTransitRouteLine> massTransitRouteLines = result.getRouteLines();
        for (MassTransitRouteLine massTransitRouteLine : massTransitRouteLines){//多條規劃路線
            //massTransitRouteLine包含本線路的票價、到達時間等資訊
            List<MassTransitRouteLine.TransitStep> transitSteps = massTransitRouteLine.getAllStep();//多個路段
            //TransitStep包含:本路段始終點、交通方式等資訊
            ...
        }
    }

    @Override
    public void onGetDrivingRouteResult(DrivingRouteResult result) {//駕車線規劃回撥
        ...
        List<DrivingRouteLine> drivingRouteLines = result.getRouteLines();
        for (DrivingRouteLine drivingRouteLine : drivingRouteLines){
            ...
            drivingRouteLine.getLightNum();//本線路紅綠燈數
            drivingRouteLine.getCongestionDistance();//本線路擁堵距離
            List<DrivingRouteLine.DrivingStep> drivingStep = drivingRouteLine.getAllStep();
            ...
        }
    }

    @Override
    public void onGetBikingRouteResult(BikingRouteResult result) {//騎行線規劃回撥
        ...
        List<BikingRouteLine> bikingRouteLines = result.getRouteLines();
        for (BikingRouteLine bikingRouteLine : bikingRouteLines){
            ...
            List<BikingRouteLine.BikingStep> bikingStep = bikingRouteLine.getAllStep();
            ...
        }
    }

    @Override
    public void onGetIndoorRouteResult(IndoorRouteResult result) {
         //室內路線規劃回撥
    }
};

效果圖

公交路徑規劃
公交路徑規劃
好啦,本篇到這裡就講完了。如果只是查詢的話,就不用百度地圖sdk了。如果需要將poi、線路、公交、邊界畫在地圖上顯示的話,也是很簡單的,只要你拿到了座標點,就可以在地圖上增加圖層了,包括:圓形、多邊形、線性等等,不清楚的閱讀文章片頭相關文章。這裡推薦com.baidu.mapapi.overlayutil裡面的api,可以方便的繪製上述圖層
//例1:畫公交線路圖層
BusLineOverlay overlay = new BusLineOverlay(mBaiduMap);
mBaiduMap.setOnMarkerClickListener(overlay);//新增marker點選監聽
overlay.setData(result);//設定資料,BusLineResult:result,公交回調監聽返回的公交線路結果
overlay.addToMap();//將公交線路畫在地圖上
overlay.zoomToSpan();//縮放操作,顯示整個線路

//例2:畫規步行劃路線圖層
WalkingRouteOverlay overlay = new WalkingRouteOverlay(mBaidumap);
overlay.setData(result.getRouteLines().get(0));//設定步行路線,result步行回撥監聽返回結果
overlay.addToMap();
overlay.zoomToSpan();

......

com.baidu.mapapi.overlayutil裡面的api把畫圖層的操作都封裝好了,比較簡單,poi、行政區邊界、其他規劃路徑都有相應的化圖層工具類。

相關推薦

Android地圖():地圖POI檢索行政區邊界公交線路規劃查詢地理編碼介紹

上一篇文章介紹了百度鷹眼sdk監控進出圍欄的功能,本篇將詳細介紹百度地圖中POI檢索、公交查詢、行政區邊界座標獲取、兩點之間的路徑規劃和地理編碼(座標和地址之間的轉換)。 一 POI檢索 1.POI簡介 POI是興趣點的意思,地圖上標註的商鋪、飯店、學校、銀行、醫院、車站等等都是POI。 地圖上的POI是可

android studio使用SDK開發地圖應用中遇到的問題彙總

1、com.baidu.mapapi.map.MapView (Open Class, Show Exception, Clear Cache) The following classes could not be instantiated:    

android開啟外部地圖導航(高德騰訊)

1.參考下面的地址:我的呼叫百度的就是採用這個文章的方法 https://blog.csdn.net/hyyz3293/article/details/76836633 2,我自己採用的方法,如下; //todo:獲取當前自己的位置; getLocation(new BDLocatio

Android整合地圖-----顯示地圖定位長按顯示地址資訊

一、基礎部分 轉載請註明出處:https://blog.csdn.net/Hunter2916/article/details/82867205 1、下載百度地圖的SDK 下載地址:http://lbsyun.baidu.com/index.php?title=android-locsd

Android 使用地圖API來顯示地圖

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

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端實現手機定位地圖實現

單獨無聊的單機程式並沒有意思,我們何不在程式裡面加上有趣的網路呢, 這次我們主要是講關於Android手機的定位系統,本次使用的是百度定位。   下面表格是提供的兩個我們後面需要的地址 百度定位下載地址 http://lbsyun.baidu.co

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

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

android 地圖SDK 獲取手機附近POI興趣點列表 (過時)

文章內容已經過時~大家去百度官方api學習。 http://developer.baidu.com/map/ http://lbsyun.baidu.com/sdk/download 功能描述:獲取手機自身附近的興趣點(Poi, 之後使用Poi表示興趣點)列表,顯示

Android地圖(三):地圖畫運動軌跡及圖層點選事件處理

上篇文章講述瞭如何在地圖顯示位置點,這篇文章主要講述如何在地圖上畫運動軌跡,以及地圖圖層點選事件的處理。 很多運動類的app都有畫出跑步者運動軌跡的需求,拿咕咚來說,我們看一下它的效果圖: 咕咚運動軌跡圖 本篇將要實現的效果 1.跑步結束後,靜態的畫出整個運動

android地圖開發——地圖sdk之基礎地圖

上一節我們介紹了百度定位sdk,這一節我們在定位的基礎上介紹百度地圖sdk。 讓地圖顯示出來 首先把上一節佈局檔案中新增的textview刪掉,然後加入MapView這個控制元件: <?xml version="1.0" encoding="

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

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

地圖從零學起()離線地圖包的安裝使用

初始化 //寫在繼承MapActivity裡 MKOfflineMap mOffline = null; //申明變數 //寫在onCreate函式裡 mOffline = new MKOfflineMap();

Android 最新地圖隱藏 放大縮小按鈕指南針縮放比例的方法

相信很多人在做地圖是都會遇到如要隱藏這3中按鈕的困擾,那麼該如何實現呢?我就不多說,程式碼很少,一看就能明白 下面接是具體實現程式碼 // 隱藏縮放控制元件                 int childCount = mMapView.getChildCou

Android開發 用AndroidStudio開發地圖Demo時的經典錯誤230的另一種可能

Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode碼校驗失敗 令人眼紅的字眼,這個神奇的錯誤折騰了我一晚上,一切都是

Android開發-地圖API_v4.1.1-AndroidStudio(五)檢索功能

轉載請註明出處:http://blog.csdn.net/iwanghang/article/details/53301514 在百度地圖API中,檢索功能文件,有很多功能,這邊程式碼演示一下,POI興趣點檢索、POI公交資訊檢索 還有其他很多,比如行政區邊界資料檢索、線路

Android整合地圖(三)POI檢索

      有時候我們需要在地圖上搜索周邊資訊,我們可以用百度地圖提供的POI檢索。      POI(Point of Interest),中文可以翻譯為“興趣點”。在地理資訊系統中,一個POI可以是一棟房子、一個商鋪、一個郵筒、一個公交站等。百度地圖SDK提供三種類型的P

Android app呼叫第三方地圖地圖高德地圖谷歌地圖)導航

因為公司專案需要用到外部導航,找到一些,大兄弟們湊合看...好吧反正也沒人看- - 1.呼叫百度導航 //開啟百度導航 public void startNavi() { //百度地圖,從起點是LatLng ll_location = new La

android地圖:在地圖上繪製點多邊形圓形和文字

轉載自:http://blog.csdn.net/rt77777/article/details/9186691 首先介紹一個類:GraphicsOverlay 這是一個在地圖上繪製圖形的overlay。GraphicsOverlay通過呼叫setDa

Android之呼叫高德地圖地圖原生app

今天做一個路徑規劃的功能,需要使用到高德地圖,或是百度地圖,然後想著怎樣的實現比較好。剛好也在看前程無憂,它裡面就是點選導航的話會先檢查本機是否安裝了這些地圖app,如果有的話,就直接開啟使用,沒有的話就通過瀏覽器去開啟百度的web地圖進行路徑規劃。 主要的流程是這樣,先判