【LBS】移动互联网基于LBS地理位置应用开发必备

2024-01-26 22:32

本文主要是介绍【LBS】移动互联网基于LBS地理位置应用开发必备,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文:【LBS】移动互联网基于LBS地理位置应用开发必备

源代码下载地址:http://www.zuidaima.com/share/1694743146056704.htm

功能:计算两个点(经纬度坐标)之间的距离

使用示例:

double distance = LatLng.distance(113.926496000000000, 22.538393000000000, 114.23, 22.23);

01 package com.haohui.util;
02  
03 /**
04  * 计算两个经纬度之间的距离的工具类
05  *
06  * Feb 13, 2014
07  * @author ZhihaoChen
08  */
09 public class LatLng {
10     private static double lngPerMeter = 1.E-005D;
11  
12     public double getLat(double _curLat, int _radius) {
13         return _radius * lngPerMeter;
14     }
15  
16     public double getLng(int _radius) {
17         return _radius * lngPerMeter;
18     }
19  
20     /**
21      * 计算两个经纬度之间的距离
22      *
23      * @param _lng1
24      * @param _lat1
25      * @param _lng2
26      * @param _lat2
27      * @return
28      */
29     public static double distance(double _lng1, double _lat1, double _lng2,
30             double _lat2) {
31         if ((_lng1 == 0.0D) || (_lat1 == 0.0D) || (_lng2 == 0.0D)
32                 || (_lat2 == 0.0D)) {
33             return 0.0D;
34         }
35         double rad_lat1 = Rad(_lat1);
36         double rad_lat2 = Rad(_lat2);
37         double a = rad_lat1 - rad_lat2;
38         double b = Rad(_lng1) - Rad(_lng2);
39         double s = 2.0D * Math.asin(Math.sqrt(Math
40                 .pow(Math.sin(a / 2.0D), 2.0D)
41                 + Math.cos(rad_lat1)
42                 * Math.cos(rad_lat2)
43                 * Math.pow(Math.sin(b / 2.0D), 2.0D)));
44         s *= 6378137.0D;
45         s = Math.round(s * 10000.0D) / 10000L;
46         return s;
47     }
48  
49     private static double Rad(double _d) {
50         return _d * 3.141592653589793D / 180.0D;
51     }
52      
53 }




这篇关于【LBS】移动互联网基于LBS地理位置应用开发必备的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/648258

相关文章

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.