发布网友 发布时间:2022-04-25 15:00
共1个回答
热心网友 时间:2023-07-15 04:22
您好,如果想让地图跟随当前位置移动,需要继承MyLocationOverlay 并实现其onLocationChanged()方法,调用MapView.getController().animateTo()方法移动地图位置。官方用户指南上的这句原话正是问题的正解,不过官网实在太坑爹,简简单单几行文字和代码,对于浣熊这种刚刚接触地图开发的小白来说实在是看得一头雾水,还在一阵瞎折腾,终于解决了问题,所以共享出来,希望和我一样的小白能够少走些弯路。
我先把修改后的MyLocation.java文件整个贴出来,在增加或改动的代码前后均表明了注释(不包括包的改动):“/*change start*/”和"/*change end*/"。
1 LocationManagerProxy mAMapLocationManager = LocationManagerProxy.getInstance(this);
mAMapLocationManager.requestLocationUpdates(LocationProviderProxy.AMapNetwork, 1000, 1, this);//定位
2 实现AMapLocationListener接口,重写onLocationChanged(AMapLocation location)方法,在里面接收我的位置(实时更新的):location.getLatitude();//为纬度 location.getLongitude()//为经度; 这个经纬度就是你要的东东了。