項目小總結

這次項目中,使用了不少東西,撿一些印象深入的來講。web

1、大量地使用Android百度地圖SDK進行開發,主要用到這些。api

一、地理編碼(正向編碼和反向編碼):瀏覽器

接口、類微信

com.baidu.mapapi.search.geocode.OnGetGeoCoderResultListener
com.baidu.mapapi.search.geocode.GeoCoder
com.baidu.mapapi.search.geocode.GeoCodeResult
com.baidu.mapapi.search.geocode.GeoCodeOption
com.baidu.mapapi.search.geocode.ReverseGeoCodeResult
com.baidu.mapapi.search.geocode.ReverseGeoCodeOption

初始化、監聽ide

= GeoCoder.().setOnGetGeoCodeResultListener()

實現方法編碼

(GeoCodeResult result) {
    (result == || result.!= SearchResult.ERRORNO.) {
        Toast.(getActivity()Toast.)
                .show()}
    .clear().addOverlay(MarkerOptions().position(result.getLocation()).icon(BitmapDescriptorFactory.(R.mipmap.))).setMapStatus(MapStatusUpdateFactory.(result
            .getLocation()))= result.getLocation().= result.getLocation().((.getInt())%!=) {
        Toast.(getActivity()+ + + + Toast.).show()}
}

(ReverseGeoCodeResult result) {
    (result == || result.!= SearchResult.ERRORNO.) {
        Toast.(getActivity()Toast.)
                .show()}
    .clear().addOverlay(MarkerOptions().position(result.getLocation()).icon(BitmapDescriptorFactory.(R.mipmap.))).setMapStatus(MapStatusUpdateFactory.(result
            .getLocation()))= result.getAddress().setText()= result.getLocation().= result.getLocation().((.getInt())%!=) {
        Toast.(getActivity()+ + + + Toast.).show()}
}


二、隱藏百度地圖SDK自帶的放大縮小按鈕,而且設置自定義的放大縮小按鈕
url

(MapView mapView) {
    childCount = mapView.getChildCount()View zoom = (i = i < childCounti++) {
        View child = mapView.getChildAt(i)(child ZoomControls) {
            zoom = child}
    }
    zoom.setVisibility(View.)}
.setOnClickListener(View.OnClickListener() {
    (View v) {
        zoomLevel = .getMapStatus().(zoomLevel <= ) {
            .setMapStatus(MapStatusUpdateFactory.()).setEnabled()} {
            .setEnabled()Toast.(getActivity()Toast.).show()}
    }
}).setOnClickListener(View.OnClickListener() {
    (View v) {
        zoomLevel = .getMapStatus().(zoomLevel > ) {
            .setMapStatus(MapStatusUpdateFactory.()).setEnabled()} {
            .setEnabled()Toast.(getActivity()Toast.).show()}
    }
})

三、使用建議搜索
code

接口、類接口

com.baidu.mapapi.search.sug.OnGetSuggestionResultListener
com.baidu.mapapi.search.sug.SuggestionSearch
com.baidu.mapapi.search.sug.SuggestionResult
com.baidu.mapapi.search.sug.SuggestionSearchOption

建議搜索入口:
ip

.requestSuggestion((SuggestionSearchOption())
                .keyword(s.toString()).city(s.toString()))

回調方法:

onGetSuggestionResult

三、路線規劃

接口、類

com.baidu.mapapi.search.route.OnGetRoutePlanResultListener
com.baidu.mapapi.search.core.RouteLine
com.baidu.mapapi.search.core.SearchResult
com.baidu.mapapi.search.route.DrivingRouteLine
com.baidu.mapapi.search.route.DrivingRoutePlanOption
com.baidu.mapapi.search.route.DrivingRouteResult
com.baidu.mapapi.search.route.PlanNode
com.baidu.mapapi.search.route.RoutePlanSearch
com.baidu.mapapi.search.route.TransitRouteLine
com.baidu.mapapi.search.route.TransitRoutePlanOption
com.baidu.mapapi.search.route.TransitRouteResult
com.baidu.mapapi.search.route.WalkingRouteLine
com.baidu.mapapi.search.route.WalkingRoutePlanOption
com.baidu.mapapi.search.route.WalkingRouteResult

路線規劃分爲駕車規劃、公交換乘規劃、步行規劃

主要仍是兩步:1、規劃入口;2、方法回調

.drivingSearch((DrivingRoutePlanOption())
        .from(stNode)
        .to(enNode))
.transitSearch((TransitRoutePlanOption())
        .from(stNode)
        .city()
        .to(enNode))
.walkingSearch((WalkingRoutePlanOption())
        .from(stNode)
        .to(enNode))
onGetWalkingRouteResult
onGetTransitRouteResult
onGetDrivingRouteResult

固然,若是須要改變起點和終點的圖標,還要定製RouteOverly

2、使用ShareSdk進行社會化分享

使用ShareSdk進行社會化分享,分享到新浪微博、QQ空間、微信好友、微信朋友圈、QQ、信息。

3、

SharedPreferences

的使用

4、SqLite的各類靈活使用


5、WebView的使用

一、獲取

WebView webView = (WebView) findViewById(R.id.webView);

二、webView加載web資源或者本地資源

webView.loadUrl("http://www.baidu.com");

三、覆蓋webView默認使用第三方或系統默認瀏覽器打開網頁的行爲,使網頁webView打開

webView.setWebViewClient(new WebViewClient(){

          public boolean shouldOverrideUrlLoading(WebView view, String url) {

                         view.loadUrl(url);

                         return true;//返回值是true時控制WebView打開,爲false調用系統瀏覽器或第三方瀏覽器打開

          }

      });     

}

等等


6、還有不少比較碎但又很重要的東西,這裏就不說了。

相關文章
相關標籤/搜索