基于高德sdk实现摩拜单车主界面,滑动地图获取地址信息

转载 2018年04月17日 16:39:36

共享单车可以说是2016年至今,一个火的不要不要的项目,简单的界面,实用的功能。观察摩拜单车,ofo单车等几个项目会发现,基本上大同小异,项目的思路跟滴滴打车项目大同小异,都是基于Gps定位,实现查找出行工具的一种出行项目,区别在于滴滴找的车是四个轮子的,摩拜等共享单车则是找两个轮子的自行车。

个人吐槽,我不知道这种共享单车的项目为什么会这么受投资人的喜爱,动不动则上亿的融资进来。

个人分析优点:

1.共享单车在某种程度上来讲确是一个快速增加用户量的项目,而用户量对于数据纷飞的时代来说就是金钱

2.共享单车由于是这种押金的模式可以快速收回投入资本,虽然押金不是自己的,但是这种大量的资金流在投资人手里来说则有太多的赚钱方式了,但是两会后政府明显对这种资金控制力度加大,甚至来说为了防止资金去向不明,投资失败,政府会不允许公司动用这些资金

3.中国现在私家车越来越多,公路交通越来越堵,自行车在某种程度的短距离内能够有效缓解出行压力

4.中国环境污染严重,看上海越来越多的电动汽车就能看出,政府更倾向于环保的电动能源,而没有什么车比自车更环保了,自行车在不赶时间的情况下,5公里内都是很方便的,那么一个人五公里,当这个人数基数变大时,是能够起到环保的作用的

有点跑题了,回到项目基于高德sdk实现滑图取点。先上图

在pos机上运行的,拖动地图,然后下面的edittext会显示marker所在地图上的地址信息。

准备:高德开发者平台申请账号并申请key,下载两个jar,AMap2DMap_4.2.0_AMapSearch_4.0.0_20170120.jar和

AMap_Location_V3.3.0_20170118.jar。

步骤分析:

1、显示地图

2、获取当前定位

3、将marker标记在当前定位点

4、marker标记在屏幕中间保持不动

5、滑动地图获取marker所在经纬度,

6、将经纬度转换为地址信息显示

code如下:

//显示地图容器
1、mapView.onCreate(savedInstanceState);
//获取map
2、aMap = mapView.getMap();
//获取AMapLocationClient
3、mLocationClient = new AMapLocationClient(IApplication.getInstance());
//定位监听
4、mLocationClient.setLocationListener(mLocationListener);
//定位回调监听
private AMapLocationListener mLocationListener = new AMapLocationListener() {
    @Override
    public void onLocationChanged(AMapLocation aMapLocation) {
        if (aMapLocation != null) {
            if (aMapLocation.getErrorCode() == 0) {
                //可在其中解析amapLocation获取相应内容。
                String address = aMapLocation.getAddress();
                mLatitude = aMapLocation.getLatitude();
                mLongitude = aMapLocation.getLongitude();
                //当前位置设置为地图中心
                setMapCenter(mLongitude, mLatitude);
            } else {
                //定位失败时,可通过ErrCode(错误码)信息来确定失败的原因,errInfo是错误信息
                
            }
        }
    }
};
5、//启动定位
mLocationClient.startLocation();
6、//地图显示到当前位置
aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitude, longitude), 18));
7、//marker固定在屏幕中间
marker.setPositionByPixels(IApplication.getWidth() / 2, IApplication.getHeight() / 2 - IApplication.getHeight() * 10 / 100);
8、//map设置视角监听
aMap.setOnCameraChangeListener(new AMap.OnCameraChangeListener(){
	
	@Override
	public void onCameraChange(CameraPosition cameraPosition) {

	}

	@Override
	public void onCameraChangeFinish(CameraPosition cameraPosition) {
		//实时获取marker所在经纬度
		LatLng mLatLng = marker.getPosition();
		mLatitude = mLatLng.latitude;
		mLongitude = mLatLng.longitude;
		LatLonPoint latLonPoint = new LatLonPoint(mLatitude, mLongitude);
		getAddressByLatLonPoint(latLonPoint);
}
})
9.//坐标转地址
private void getAddressByLatLonPoint(LatLonPoint latLonPoint) {
    GeocodeSearch geocodeSearch = new GeocodeSearch(MainActivity.this);
    RegeocodeQuery regeocodeQuery = new RegeocodeQuery(latLonPoint, 200, GeocodeSearch.AMAP);
    geocodeSearch.getFromLocationAsyn(regeocodeQuery);
    //监听逆地理编码结果
    geocodeSearch.setOnGeocodeSearchListener(new MyOnGeocodeSearchListener() {
        @Override
        protected void myOnRegeocodeSearched(RegeocodeResult regeocodeResult, int backCode) {
            if (backCode == 1000) {
                et_startPosition.setText("");
                RegeocodeAddress regeocodeAddress = regeocodeResult.getRegeocodeAddress();
                String formatAddress = regeocodeAddress.getFormatAddress();
                ToastUtil.getInstacne().shortShow(formatAddress);
                et_startPosition.setText(formatAddress);
            } else {
                LogUtil.getInstance().i(getClassName(), getResources().getString(R.string.regeocodeResult_error));
            }
        }
    });
}

Android百度地图实例详解之仿摩拜单车APP(包括附近车辆、规划路径、行驶距离、行驶轨迹记录,轨迹回放,导航等)

Android基于百度地图仿摩拜单车APP,这个小项目包括附近车辆、规划路径、行驶距离、行驶轨迹记录,轨迹回放,导航在没第三方导航APP时调用内置百度地图导航等(也挺全的哈),其中的附近车辆用的是假数...
  • gaolei1201
  • gaolei1201
  • 2017-03-08 20:05:41
  • 9672

Android模仿摩拜单车车型选择按钮

个人感觉Tablayout里的indicator左右滑动和摩拜单车里按钮背景左右滑动很像,所以我的思路是修改Tablayout里indicator的位置和形状,把indicator的位置放在tab下面...
  • ziyouwuxian0
  • ziyouwuxian0
  • 2017-03-22 16:18:11
  • 1141

摩拜CEO胡炜炜 一席 演讲中的 点亮北京,深圳骑行动态,地图技术实现

先看看《摩拜CEO:失败了,就当做公益吧》演讲:  http://mp.weixin.qq.com/s/SkqOZ71mqK6b0NDljm63Ew  再看 效果图(图片来自摩拜)...
  • xiaozei523
  • xiaozei523
  • 2017-02-27 10:14:20
  • 1163

python爬取摩拜单车API数据并做可视化分析(源码)

  • 2017年04月21日 12:35
  • 212KB
  • 下载

微信小程序仿摩拜单车

本小程序仿摩拜单车的地图显示和拖动部分,单车数据采用周边厕所模拟。index.wxml如下: id="map" bindcontroltap="bindcontroltap" ...
  • u011330225
  • u011330225
  • 2017-07-16 20:14:56
  • 1108

安卓模仿膜拜单车地图显示的功能

这是效果视频 https://pan.baidu.com/s/1c2IVmRA
  • android_upl
  • android_upl
  • 2017-09-14 23:10:53
  • 575

使用jbox2d物理引擎打造摩拜单车贴纸动画效果

使用jbox2d物理引擎打造摩摆单车贴纸动画效果继上一次实现了ofo小黄人斗鸡眼效果(眼珠跟随手机加速器自动滚动),想看效果的朋友,请点击这篇文章 http://blog.csdn.net/qq_28...
  • qq_28268507
  • qq_28268507
  • 2017-07-09 16:23:29
  • 3321

摩拜单车开锁实现原理剖析

1.开锁技术可能性分析 1  mqtt 实现  摩拜服务器作为broker, 手机APP 和  智能锁作为 subcriber/publisher, 过程如下 1.  智能锁和摩拜云端保持长连...
  • a_bcd_123
  • a_bcd_123
  • 2017-04-21 15:39:26
  • 7520

摩拜单车的“黑科技”

摩拜单车,问世以来,给大家带来了新的体验?那么背后隐藏着什么"黑科技"呢,让我们来看看吧...
  • z497544849
  • z497544849
  • 2017-01-10 21:38:13
  • 2335
收藏助手
不良信息举报
您举报文章:基于高德sdk实现摩拜单车主界面,滑动地图获取地址信息
举报原因:
原因补充:

(最多只允许输入30个字)