百度地图开发--实现打开地图自动定位到上次定位点然后在定位到自己的位置

15 篇文章 0 订阅

要实现的功能要求为:

      当第一次启动地图时,自动定位到我所在的位置,当第二次定位的时候,保存上次的定位点,这次直接先显示上次定位的地点,然后在定位到我现在所在的位置。

首先看下效果图:

 第一次启动软件时的截图:

                                  

                        初始化时的定位信息

再次启动定位时的信息截图:

                                 

                                                          以后定位时显示的信息

 

主要思路:

     这里主要运用到SharedPreferences,android的一种轻型的存储方式。当程序退出时保存上次定位点的信息,当再次启动时,取出定位信息然后进行定位,其次在进行正常的定位功能。

优点:

        这样可以节省定位时间以及不必要的流量等。

代码解释:

复制代码
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if(mapManager != null )
            mapManager.destroy();
        /*退出时保存这次的定位信息*/
        SharedPreferences settings=getSharedPreferences("GeoPoint_Info",0);
        settings.edit().putLong(mStringInitLatitude,mMyPlaceGeoPoint.getLatitudeE6()).commit();
        settings.edit().putLong(mStringInitLongtitude, mMyPlaceGeoPoint.getLongitudeE6()).commit();
        mapManager=null;
    }
复制代码

       

复制代码
@Override
        public void onCreate(Bundle savedInstanceState) {
        /*保存上次定位点以便于下次打开直接定位到该位置*/
        SharedPreferences settings=getSharedPreferences("GeoPoint_Info",MODE_PRIVATE);
        mInitLatitude=settings.getLong(mStringInitLatitude, mInitLatitude);
        Log.d(mStringInitLatitude, ""+mInitLatitude);
        mInitLongtitude=settings.getLong(mStringInitLongtitude, mInitLongtitude);
        Log.d(mStringInitLongtitude, ""+mInitLongtitude);
        
        Toast.makeText(timeLocation.this, "上次位置为:\n"+"经度:"+mInitLatitude+"\n"+"纬度:"+mInitLongtitude+"\n", Toast.LENGTH_LONG).show();
        //mMapView.getController().animateTo(new GeoPoint((int)mInitLatitude,(int)mInitLongtitude));
        mMapView.getController().setCenter(new GeoPoint((int)mInitLatitude,(int)mInitLongtitude));
        }
复制代码

哈哈 ,就这样,简单方便的实现了改变默认定位初始点的位置。


原文地址:点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值