編輯:關於Android編程
前幾天又下載了新的百度地圖sdk,3.5版本,發現百度地圖api有了較大變化
定位和3.0版本差不多
但是設置地圖中心和添加maker標記有較大變化
設置地圖中心點
// 定義地圖狀態zoom表示縮放級別3-18
MapStatus mMapStatus = new MapStatus.Builder().target(cenpt)
.zoom(14).build();
// 定義MapStatusUpdate對象,以便描述地圖狀態將要發生的變化
MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory
.newMapStatus(mMapStatus);
// 改變地圖狀態
// 開啟定位圖層
mMapView.getMap().setMapStatus(mMapStatusUpdate);
添加maker標記
// 定義Maker坐標點
// 構建Marker圖標
BitmapDescriptor bitmap = BitmapDescriptorFactory
.fromResource(R.drawable.ic_launcher);
// 構建MarkerOption,用於在地圖上添加Marker
OverlayOptions option = new MarkerOptions().position(cenpt).icon(
bitmap);
// 在地圖上添加Marker,並顯示
mMapView.getMap().clear();
mMapView.getMap().addOverlay(option);
mLocationClient.stop();
完整代碼如下
public class MapActivity extends BaseActivity {
MapView mMapView;
public LocationClient mLocationClient = null;
public BDLocationListener myListener = new MyLocationListener();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_mapview);
mMapView = (MapView) findViewById(R.id.bmapView);
mLocationClient = new LocationClient(getApplicationContext()); // 聲明LocationClient類
mLocationClient.registerLocationListener(myListener); // 注冊監聽函數
mLocationClient.start();
}
@Override
protected void onDestroy() {
super.onDestroy();
// 在activity執行onDestroy時執行mMapView.onDestroy(),實現地圖生命周期管理
mMapView.onDestroy();
mLocationClient.stop();
}
@Override
protected void onResume() {
super.onResume();
// 在activity執行onResume時執行mMapView. onResume (),實現地圖生命周期管理
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
// 在activity執行onPause時執行mMapView. onPause (),實現地圖生命周期管理
mMapView.onPause();
}
public class MyLocationListener implements BDLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
if (location == null)
return;
StringBuffer sb = new StringBuffer(256);
sb.append(time : );
sb.append(location.getTime());
sb.append( error code : );
sb.append(location.getLocType());
sb.append( latitude : );
sb.append(location.getLatitude());
sb.append( lontitude : );
sb.append(location.getLongitude());
sb.append( radius : );
sb.append(location.getRadius());
if (location.getLocType() == BDLocation.TypeGpsLocation) {
sb.append( speed : );
sb.append(location.getSpeed());
sb.append( satellite : );
sb.append(location.getSatelliteNumber());
} else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {
sb.append( addr : );
sb.append(location.getAddrStr());
}
System.out.println( + sb.toString());
LatLng cenpt = new LatLng(location.getLatitude(),
location.getLongitude());
// 定義地圖狀態zoom表示縮放級別3-18
MapStatus mMapStatus = new MapStatus.Builder().target(cenpt)
.zoom(14).build();
// 定義MapStatusUpdate對象,以便描述地圖狀態將要發生的變化
MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory
.newMapStatus(mMapStatus);
// 改變地圖狀態
// 開啟定位圖層
mMapView.getMap().setMapStatus(mMapStatusUpdate);
// 定義Maker坐標點
// 構建Marker圖標
BitmapDescriptor bitmap = BitmapDescriptorFactory
.fromResource(R.drawable.ic_launcher);
// 構建MarkerOption,用於在地圖上添加Marker
OverlayOptions option = new MarkerOptions().position(cenpt).icon(
bitmap);
// 在地圖上添加Marker,並顯示
mMapView.getMap().clear();
mMapView.getMap().addOverlay(option);
mLocationClient.stop();
}
}
}
人物移動地圖的平滑滾動處理 玩過rpg游戲的朋友應該都知道RPG的游戲地圖一般都比較大 今天我和大家分享一下在RPG游戲
學習知識:界面組成、事件監聽器====界面組成====1.用戶界面的基本組件叫做View,都是繼承android.view.View類,Android裡面預定義很多基本的
1. Fragment概述Fragment從Android v3.0版本開始引入隨著界面布局的復雜化,處理起來也更加的復雜,引入Fragment可以把activity拆分
一、前言又是過了好長時間,沒寫文章的雙手都有點難受了。今天是聖誕節,還是得上班。因為前幾天有一個之前的同事,在申請微信SDK的時候,遇到簽名的問題,問了我一下,結果把我難