`
sword88
  • 浏览: 9136 次
  • 性别: Icon_minigender_1
  • 来自: 济南
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

google map api v3求两点之间的距离

阅读更多
最近项目有个需求,求两个坐标点之间的距离,可以api v3并没有提供v2中的distanceFrom,下面提供思路:

使用  ‘  haversine  ’   formula (半正矢公式)来计算,所有的计算公式的基础是一个圆形的地球(忽略椭圆)- 这对于大多数应用是足够精确的… [实际上, 地球是一个轻微的椭圆形;使用圆形模型产生的误差高达0.3%].

先上效果:demo

haversine formula(半正矢公式) :

R = earth’s radius (mean radius = 6,371km)
Δlat = lat2− lat1
Δlong = long2− long1
a = sin²(Δlat/2) + cos(lat1).cos(lat2).sin²(Δlong/2)
c = 2.atan2(√a, √(1−a))
d = R.c

javascript:

function distance(sX,sY,eX,eY){
  var lat = [sX, eX]
  var lng = [sY, sY] //var R = 6371; // km (change this constant to get miles)
  var R = 6378137; // In meters
  var dLat = (lat[1] - lat[0]) * Math.PI / 180;
  var dLng = (lng[1] - lng[0]) * Math.PI / 180;
  var dLat1 = lat[0] * Math.PI / 180;
  var dLat2 = lat[1] * Math.PI / 180;
  var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(dLat1) * Math.cos(dLat1) * Math.sin(dLng / 2) * Math.sin(dLng / 2);
  var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
  var d = R * c;
  return Math.round(d);
}


更多内容请查看www.sword88.com
0
0
分享到:
评论

相关推荐

    谷歌地图Google Map API V3中文开发文档

    谷歌地图 Google Map API V3 中文开发文档提供了一个详细的中文开发指南,涵盖了谷歌地图 Google Map API V3 的使用方法、相关类库、事件处理等方面的知识点。开发者可以根据自己的需求,选择合适的组件和方法来创建...

    Google_Maps_API_V3.rar_Google Maps api v3_谷歌地图

    4. **路径规划(Directions Service)**:API提供了一种方法来计算两个或多点之间的最佳路线,包括驾车、步行和公共交通等模式。 5. **地理编码(Geocoding)**:将地址转换为经纬度坐标,反之亦然,这对于搜索和...

    Google Map v3 官方实例

    9. **服务(Services)**:包括距离矩阵服务、地理编码服务、方向服务等,可以获取路线信息、计算两点间的距离、查找地点等。 10. **性能优化**:为了提高性能和用户体验,可以使用分块加载、延迟加载等技术,只在...

    google map v3,V3地图搜素,V3地图标注

    在本文中,我们将深入探讨Google Maps API的第三版(V3),主要关注V3地图搜索、地图标注以及多点标注的实现。Google Maps API V3是Google提供的一个强大的JavaScript库,用于在网页上嵌入交互式地图,进行地理位置...

    google map jsv3 示例

    8. **地图服务(Map Services)**:jsv3提供了一系列服务,如ElevationService(海拔服务)、DistanceMatrixService(距离矩阵服务)和DirectionsService(导航服务),可以获取海拔数据、计算两点间距离和规划路线...

    Javascript计算两个marker之间的距离(Google Map V3)

    Google Map V3 javascript计算两个marker之间的距离 做地图开发,最常用到的就是marker一些操作和交互。简单介绍一下,两个marker之间的距离计算。 google map api 很方便的 只要是常用的 基本上都有接口。 1.创建两...

    Google_Maps_API_V3.docx

    Google Maps API V3是谷歌提供的一项强大的服务,允许开发者在网页上集成地图功能,创建交互式的地图应用。这个API是JavaScript版本的,具有丰富的功能和灵活性,可以实现地图的自定义、定位、标记、路径绘制、信息...

    无密钥google map 第三代

    【描述】"里面有google map 地图比较点以及通过地址抓取经纬度"说明这个压缩包可能包含了两个关键功能的示例或工具:地图比较和地址到经纬度转换。地图比较可能允许用户查看同一地理位置在不同时间或不同条件下的...

    Google_Maps_JavaScript_API_V3_教程及基础知识等

    - **路由规划**:计算两点或多点之间的最佳路径。 - **事件监听器**:响应用户与地图的交互。 总的来说,Google Maps JavaScript API V3 提供了丰富的工具和灵活性,让开发者能够构建高度定制化的地图应用。无论你...

    Google API开发详解

    ### Google API开发详解 #### 背景与概述 随着互联网技术的发展,地理位置服务成为连接线上与线下场景的重要桥梁。Google作为全球领先的互联网企业之一,提供了丰富的API接口,特别是Google Maps API与Google ...

    Google_MapsAPI_V3_叠加层

    Google Maps API V3 是一个强大的工具,用于在网页中集成交互式地图功能。在这个API的第三版中,重点强调了性能提升和用户体验的优化。在本文中,我们将深入探讨其中的叠加层概念及其各种类型,包括如何添加和删除...

    网站开发之Google地图的应用.pdf

    Google MAP API v3兼容的浏览器有: 1. IE 6.0+(Windows)以及IE内核的其他浏览器,如搜狗高速浏览器、遨游浏览器、360浏览器、世 界之窗浏览器等。 2. Firefox 2.0+(Windows/Mac/Linux) 3. Safari 3.1+(Mac/Windows...

    direction-finder:谷歌地图方向查找功能的表示。 谷歌地图 API,地方图书馆

    首先,"direction-finder"是谷歌地图API中的一个关键组件,主要用于显示两个或多个地点之间的导航路线。用户可以输入起始点和目的地,API会计算最佳路径,并提供详细的方向和距离信息。这个功能对于旅行、交通规划和...

    ip转经纬度

    在实际应用中,还可以使用各种API服务,如Google Maps API、高德地图API等,它们提供了便捷的IP转经纬度接口,但可能需要申请使用权限,并且有请求次数限制。 总的来说,"IP转经纬度"是一个涉及网络协议、数据库...

    获取地图坐标与街道地址

    本文将深入探讨如何使用Google Maps API V3实现从地图坐标到街道地址的转换,也就是所谓的“反向地理编码”(Reverse Geocoding)。这个过程对于提供基于位置的服务至关重要,例如导航、本地搜索和定位跟踪。 ...

    Android开发实例:gogol地图 源码

    可以通过`Directions API`获取两点之间的驾车、步行或骑行路线,然后在地图上显示。 10. **性能优化**:考虑到地图服务可能会消耗大量资源,注意进行性能优化,如合理设置地图可见区域、缓存地图图片、延迟加载等。...

    MapTrack.zip_Android 绘制_android_android map track_maptrack_绘制轨迹

    在MapTrack项目中,开发者可能使用了Google Maps API V2或V3,这两个版本都支持在地图上添加标记、路径线和其他视觉元素。 要绘制轨迹,首先需要获取轨迹数据。这些数据通常包含一系列地理坐标点(经度和纬度),...

Global site tag (gtag.js) - Google Analytics