Android基于高德地图实现多人实时共享位置

  • Post author:
  • Post category:其他


自开发上一款智慧旅游产品后,发现一个很有意义而且很实用的功能,就是模仿微信的位置共享,可以看到对方的位置,一直想模仿做出这样的效果.最近闲下来之后终于实现了.下面就把我的实现过程和心得分享给大家.

步骤

1.基于高德地图定位

要实现实时位置共享,首先就要实现实时定位,高德官方api给的很详细,只要跟着步骤来,还是没什么难度的,下面直接上代码了

/**
 * 设置地图属性
 */
private void setUpMap(){
    aMap.setLocationSource(this);
    aMap.setMyLocationEnabled(true);// 设置为true表示显示定位层并可触发定位,false表示隐藏定位层并不可触发定位,默认是false
    aMap.setMyLocationType(AMap.LOCATION_TYPE_LOCATE);// 跟随模式
    aMap.getUiSettings().setMyLocationButtonEnabled(true);// 设置默认定位按钮是否显示
    aMap.setMyLocationEnabled(true);// 设置为true表示显示定位层并可触发定位,false表示隐藏定位层并不可触发定位,默认是false
}
//激活定位
@Override
public void activate(OnLocationChangedListener listener) {
    mListener = listener;
    if (mlocationClient == null){
        mlocationClient = new AMapLocationClient(MainActivity.this);
        mLocationOption = new AMapLocationClientOption();
        mlocationClient.setLocationListener(this);// 设置定位监听
        mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
        mlocationClient.setLocationOption(mLocationOption);// 设置为高精度定位模式
        mLocationOption.setInterval(1000);
        mlocationClient.startLocation();
    }
}

/**
*位置信息发生变化时
*/
@Override
public void onLocationChanged(AMapLocation aMapLocation) {
    if (mListener != null && aMapLocation != 



版权声明:本文为qq_35209398原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。