关于安卓百度地图自定义指针旋转角度问题(第一次写博客)

来源:互联网 发布:json key为数组 编辑:程序博客网 时间:2024/06/04 18:50

             首先声明一下,这是我第一次写博客,有很多东西不清楚 ,还请见谅。

              昨天周末的时候,帮同事做一个安卓app里面的百度地图的东西。其实就是类似百度导航的东西,有一个箭头,可以转动。他的需求时,通过服务器传的参数来动态改变。我之前也没做过app,更没做过app百度地图。在网上找了很多都没有搞定,最后自己看来一个api,才搞定的。下面把demo附上去,希望能对一些人有所帮助,同时自己也能有所积累。

需要的包我就不做解释了,大家应该比我更加清楚!

Activity代码:




import android.app.Activity;
import android.os.Bundle;


import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.BitmapDescriptor;
import com.baidu.mapapi.map.BitmapDescriptorFactory;
import com.baidu.mapapi.map.MapStatus;
import com.baidu.mapapi.map.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MarkerOptions;
import com.baidu.mapapi.map.MyLocationData;
import com.baidu.mapapi.map.OverlayOptions;
import com.baidu.mapapi.model.LatLng;


public class BaiDuMap  extends Activity{
private MapView mMapView = null;  
private BaiduMap mBaiduMap = null;
MyLocationData.Builder builder = new MyLocationData.Builder();
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);   
        //在使用SDK各组件之前初始化context信息,传入ApplicationContext  
        //注意该方法要再setContentView方法之前实现  
        SDKInitializer.initialize(getApplicationContext());  
        setContentView(R.layout.bmap);  
        //获取地图控件引用  
        mMapView = (MapView) findViewById(R.id.bmapView);  
        mBaiduMap = mMapView.getMap();
    // 构造定位数据
        //深圳中心点
        LatLng point = new LatLng(22.549525, 114.063918);
        BitmapDescriptor icon = BitmapDescriptorFactory.fromResource(R.drawable.navigation);  
        //这里是按逆时针旋转的   这里是270度
        OverlayOptions options = new MarkerOptions().icon(icon).position(point).rotate(270);  
        
        mBaiduMap.addOverlay(options);  
        MapStatus mMapStatus = new MapStatus.Builder()  
        .target(point)  
        .zoom(18)  
        .build();  
        //定义MapStatusUpdate对象,以便描述地图状态将要发生的变化  
        MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory.newMapStatus(mMapStatus);  
        //改变地图状态  
        mBaiduMap.setMapStatus(mMapStatusUpdate);


    }  
    @Override  
    protected void onDestroy() {  
        super.onDestroy();  
        //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理  
        mMapView.onDestroy();  
    }  
    @Override  
    protected void onResume() {  
        super.onResume();  
        //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理  
        mMapView.onResume();  
        }  
    @Override  
    protected void onPause() {  
        super.onPause();  
        //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理  
        mMapView.onPause();  
        }  
}

                 


    

1 0
原创粉丝点击