步骤:

1、获取当前的经纬度
2、显示地图
3、改变地图中心的经纬度


1、获取当前的经纬度
请参考网址:
http://blog.csdn.net/zhengyikuangge/article/details/51921549


2、显示地图
请参考网址:
http://blog.csdn.net/zhengyikuangge/article/details/51945053


3、改变地图中心的经纬度:
前台xml代码:

......<com.baidu.mapapi.map.MapView        android:id="@+id/map_view"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:clickable="true" >    com.baidu.mapapi.map.MapView>......

后台参考代码(只提供java代码,其他代码与第2个网址中的相同):

package com.example.baidumaptest;import java.util.List;import android.app.Activity;import android.content.Context;import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import android.os.Bundle;import android.widget.Toast;import com.baidu.mapapi.SDKInitializer;import com.baidu.mapapi.map.BaiduMap;import com.baidu.mapapi.map.MapStatusUpdate;import com.baidu.mapapi.map.MapStatusUpdateFactory;import com.baidu.mapapi.map.MapView;import com.baidu.mapapi.map.MyLocationData;import com.baidu.mapapi.model.LatLng;public class MainActivity extends Activity {    private LocationManager locationManager;    private String provider;    MapView mapView;    BaiduMap baiduMap;    boolean ifFrist = true;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        SDKInitializer.initialize(getApplicationContext());        setContentView(R.layout.activity_main);        mapView = (MapView) findViewById(R.id.map_view);        // 获取baiduMap对象        baiduMap = mapView.getMap();        // 设置可改变地图位置        baiduMap.setMyLocationEnabled(true);        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);        List list = locationManager.getProviders(true);        if (list.contains(LocationManager.GPS_PROVIDER)) {            provider = LocationManager.GPS_PROVIDER;        } else if (list.contains(LocationManager.NETWORK_PROVIDER)) {            provider = LocationManager.NETWORK_PROVIDER;        } else {            Toast.makeText(this, "当前不能提供位置信息", Toast.LENGTH_LONG).show();            return;        }        Location location = locationManager.getLastKnownLocation(provider);        if (location != null) {            navigateTo(location);        }        locationManager.requestLocationUpdates(provider, 5000, 1,                locationListener);    }    private void navigateTo(Location location) {        // 按照经纬度确定地图位置        if (ifFrist) {            LatLng ll = new LatLng(location.getLatitude(),                    location.getLongitude());            MapStatusUpdate update = MapStatusUpdateFactory.newLatLng(ll);            // 移动到某经纬度            baiduMap.animateMapStatus(update);            update = MapStatusUpdateFactory.zoomBy(5f);            // 放大            baiduMap.animateMapStatus(update);            ifFrist = false;        }        // 显示个人位置图标        MyLocationData.Builder builder = new MyLocationData.Builder();        builder.latitude(location.getLatitude());        builder.longitude(location.getLongitude());        MyLocationData data = builder.build();        baiduMap.setMyLocationData(data);    }    LocationListener locationListener = new LocationListener() {        @Override        public void onStatusChanged(String arg0, int arg1, Bundle arg2) {            // TODO Auto-generated method stub        }        @Override        public void onProviderEnabled(String arg0) {            // TODO Auto-generated method stub        }        @Override        public void onProviderDisabled(String arg0) {            // TODO Auto-generated method stub        }        @Override        public void onLocationChanged(Location arg0) {            // TODO Auto-generated method stub            // 位置改变则重新定位并显示地图            navigateTo(arg0);        }    };    @Override    protected void onDestroy() {        // 释放资源        super.onDestroy();        if (locationManager != null) {            locationManager.removeUpdates(locationListener);        }        mapView.onDestroy();        baiduMap.setMyLocationEnabled(false);    }}

参考代码下载地址:
http://download.csdn.net/detail/zhengyikuangge/9579595

更多相关文章

  1. @功能 中用到 android EditText插入字符串到光标所在位置
  2. Android获得位置信息(GPS+wifi/基站)
  3. android:targetSdkVersion 属性导致地图无法拖动问题
  4. Android(安卓)LBS系列02 获取当前位置
  5. arcgis for android访问arcgis server上自己制作部署的地图服务
  6. ArcGis for Android(安卓)10.2.8个人整理
  7. 更改android AVD模拟器创建路径位置
  8. [Android] Viewpager 与 Google map v2 冲突,导致地图不能左右滑
  9. android百度地图定位显示当前位置(android百度地图SDK系列)

随机推荐

  1. Android传感器编程实例开发――三轴数据
  2. Android牟利之道(二)--广告平台的介绍
  3. [置顶] Android性能优化-SQLite数据库
  4. Android(安卓)自定义模拟时钟控件
  5. [小白装逼]Android(安卓)语音录制及播放
  6. 八、使用pull解析器操作xml文件
  7. Android中Bitmap类getPixel方法获取的像
  8. android浏览器和iPhone浏览器
  9. android click 和onTouch 事件处理机制
  10. Android:各项设置跳转