项目小总结

原创
2015/10/13 18:33
阅读数 357

此次项目中,使用了很多东西,捡一些印象深刻的来说。

一、大量地使用Android百度地图SDK进行开发,主要用到这些。

1、地理编码(正向编码和反向编码):

接口、类

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

初始化、监听

= 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()}
}


2、隐藏百度地图SDK自带的放大缩小按钮,并且设置自定义的放大缩小按钮

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

3、使用建议搜索

接口、类

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

建议搜索入口:

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

回调方法:

onGetSuggestionResult

3、路线规划

接口、类

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

路线规划分为驾车规划、公交换乘规划、步行规划

主要还是两步:一、规划入口;二、方法回调

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

当然,如果需要改变起点和终点的图标,还要定制RouteOverly

二、使用ShareSdk进行社会化分享

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

三、

SharedPreferences

的使用

四、SqLite的各种灵活使用


五、WebView的使用

1、获取

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

2、webView加载web资源或者本地资源

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

3、覆盖webView默认使用第三方或系统默认浏览器打开网页的行为,使网页webView打开

webView.setWebViewClient(new WebViewClient(){

          public boolean shouldOverrideUrlLoading(WebView view, String url) {

                         view.loadUrl(url);

                         return true;//返回值是true时控制WebView打开,为false调用系统浏览器或第三方浏览器打开

          }

      });     

}

等等


六、还有很多比较碎但又很重要的东西,这里就不说了。

展开阅读全文
打赏
0
3 收藏
分享
加载中
更多评论
打赏
0 评论
3 收藏
0
分享
返回顶部
顶部