计算定位距离公式

cocos2d-x技术群新群:117871561
c++技术交流群:593010226
第一种:高德定位的接口

import com.amap.api.maps2d.AMapUtils;
import com.amap.api.maps2d.model.LatLng;
    public String metersBetweenLocation(String loParam)
    {
        String msg = "0";
        try 
        {
            JSONObject jObject = new JSONObject(loParam);
            double myLatitude = jObject.getDouble("myLatitude");
            double myLongitude = jObject.getDouble("myLongitude");
            
            double otherLatitude = jObject.getDouble("otherLatitude");
            double otherLongitude = jObject.getDouble("otherLongitude");
            
            LatLng my2d = new LatLng(myLatitude, myLongitude);
            LatLng or2d = new LatLng(otherLatitude, otherLongitude);
            BigDecimal db = new BigDecimal(AMapUtils.calculateLineDistance(my2d, or2d));
            msg = db.toPlainString();
        } 
        catch (JSONException e) 
        {
            e.printStackTrace();
        }
        return msg;
    }


第二种:

#include "math.h"
#define COVER 180
#define PAI  3.1415926
#define RADIUS 6366000
#define M      1000

void AddressManager::compute()
{


                    double pk = (double)(COVER / PAI);

                    //计算参数
                    double      a1 = m_LocationData[i].lng / pk;
                    double a2 = m_LocationData[i].lat / pk;
                    double b1 = m_LocationData[j].lng / pk;
                    double b2 = m_LocationData[j].lat / pk;

                    //计算后的参数进行计算
                    double t1 = cos(a1)*cos(a2)*cos(b1)*cos(b2);
                    double t2 = cos(a1)*sin(a2)*cos(b1)*sin(b2);
                    double t3 = sin(a1)*sin(b1);
                    double tt = acos(t1 + t2 + t3);
                    double result = RADIUS * tt /*/ M*/;

        
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 科普 Cocos Creator是触控最新一代游戏工具链的名称。如果不太清楚的,可以先看一些新闻。 新编辑器Coc...
    麒麟子阅读 10,924评论 5 13
  • 前言 我选择开发一个游戏有很多原因。我觉得自己是“核心”玩家,过去的大部分时间我都花在玩游戏,自己制作、阅读和游戏...
    月影檀香阅读 14,197评论 1 27
  • Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布的。这是一个C++ Cocos2d-iPhone...
    黄花菜已凉阅读 4,813评论 1 3
  • 想从事游戏开发,1 年内能精通 C++ 吗,还需要学习什么? 【MiloYip的回答(383票)】: 本人大约从2...
    踩在浪花上00阅读 23,855评论 18 204
  • 于是这里的柱子上有一首诗: 我穿墙而过,我消失了。 房间空着,光还很亮,没有异常。 我的消失是完美的,带着无人懂得...
    云雀儿阅读 1,449评论 2 1