Android studio 百度地图开发(6)Marker绑定事件、计算两点距离

Android studio 百度地图开发(6)Marker绑定事件、计算两点距离

email:[email protected]

      开发环境:win7 64位,Android Studio,请注意是Android Studio,使用的导航SDK版本:3.1.0

  • 百度地图应用(1):Android studio 百度地图开发(1)配置工程、显示地图
  • 百度地图应用(2)Android studio 百度地图开发(2)地图定位
  • 百度地图应用(3):Android studio 百度地图开发(3)地图导航
  • 百度地图应用(4):Android studio 百度地图开发(4)触摸选点、地理编码
  • 百度地图应用(5):Android studio 百度地图开发(5)查询周边服务(加油站)

一.Maker绑定点击事件

 /**
         * 为百度地图中marker 增加点击监听函数
         */
        baiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() {
            @Override
            public boolean onMarkerClick(Marker marker) {

           //响应点击事件
                return false;
            }
        });

二.根据百度地图坐标计算两点之间的距离:

/**
     * 计算两点之间距离
     * @param start
     * @param end
     * @return 米
     */
    public String getDistance(LatLng start,LatLng end){
        double lat1 = (Math.PI/180)*start.latitude;
        double lat2 = (Math.PI/180)*end.latitude;

        double lon1 = (Math.PI/180)*start.longitude;
        double lon2 = (Math.PI/180)*end.longitude;

        //地球半径
        double R = 6371;

        //两点间距离 km,如果想要米的话,结果*1000
        double d =  Math.acos(Math.sin(lat1)*Math.sin(lat2)+Math.cos(lat1)*Math.cos(lat2)*Math.cos(lon2-lon1))*R;
        if(d<1)
            return (int)d*1000+"m";
        else
            return String.format("%.2f",d)+"km";
    }


你可能感兴趣的:(android,百度地图,Studio)