<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312"/>
<title>Google 地图 计算两个城市之间的距离,非直线距离</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript">
//计算两地之间的距离,非直线距离
var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var response;
var directionsDisplay = new google.maps.DirectionsRenderer();
//不走高速
function noGaosu(){
var start = document.feng.sc.value;
var end = document.feng.ec.value;
var request = {
avoidHighways: true,
origin: start,
destination: end,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(
request, function(response, status){
if (status == google.maps.DirectionsStatus.OK){
directionsDisplay.setDirections(response);
//m= response.routes[0].legs[0].distance.text;
//alert(m);
var distance = document.getElementById('nodistance');
distance.innerHTML = '不走高速的距离: '+response.routes[0].legs[0].distance.text;
}
}
);
}
//走高速
function gaosu(){
var start = document.feng.sc.value;
var end = document.feng.ec.value;
var request = {
avoidHighways: false,
origin: start,
destination: end,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(
request, function(response, status){
if (status == google.maps.DirectionsStatus.OK){
directionsDisplay.setDirections(response);
//m= response.routes[0].legs[0].distance.text;
//alert(m);
var distance = document.getElementById('distance');
distance.innerHTML = '走高速的距离: '+response.routes[0].legs[0].distance.text;
}
}
);
}
</script>
</head>
<body onload="initialize()" onunload="GUnload()">
<form name="feng">
<div id="map_canvas" style="width: 600px; height: 400px"></div>
<b>查询两个城市间的距离:</b><br />
出发城市: <input type="text" id="sc" /><br />
到达城市: <input type="text" id="ec" /><br />
<input type="button" value="高 速" id="bt" onClick="gaosu()"/>
<input type="button" value="不走高速" id="bt" onClick="noGaosu()"/>
<div id="distance"></div>
<div id="nodistance"></div>
</form>
</body>
</html>
分享到:
相关推荐
然后,我们使用`BMap.DrivingRoute`类创建一个驾车路线规划实例,并调用`search`方法来查询两个城市的距离。例如,查询北京到上海的距离: ```javascript var driving = new BMap.DrivingRoute(map, { ...
可以计算任意两个城市之间的距离,点击右键 选择打开方式,尽量用360浏览器或者百度浏览器
当涉及到城市之间的最短距离问题时,我们通常会想到图论中的最短路径问题,但这里提到的是两个线段(城市)之间的最短距离,这是一个二维空间中的几何问题。在VC++环境中,我们可以利用几何算法来解决这个问题。 ...
接着,两地址间距离的计算通常采用Haversine公式,这是一个基于球面三角学的公式,适用于地球表面两点之间的大圆距离计算。在Java中,我们可以定义一个函数,接收两个经纬度对(纬度和经度),然后应用Haversine公式...
3. "全国城市运距统计表1.xlsx" 和 "全国城市运距统计表.xlsx":这两个文件都是Excel工作簿,很可能包含了城市列表和已有的部分城市间距离数据,或者是抓取结果的存储位置。它们可能被用作输入数据源,也可能作为...
1.城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。要求在屏幕上显示得到的最小生成树中包括了哪些城市间的...
console.log("两点间距离为:" + distance + "米"); }; ``` 在这个例子中,我们创建了一个地图实例,设置了起点和终点地址,然后使用`DistanceTool`类打开距离测量工具。当测量结束后,`onmeasureend`事件会被触发...
邻接矩阵是一个二维数组,其中的元素代表两个城市之间的距离或权值。如果两个城市之间没有直接的通信线路,那么对应的矩阵元素可以设为无穷大或者一个非常大的数值。 Prim算法是一种常用的求解最小生成树的方法。其...
城市间最佳路径查询系统是一种基于计算机程序的解决方案,旨在帮助用户快速找到两个或多个城市之间的最短或最优路径。这个程序通常应用于交通规划、物流管理、旅行路线优化等多个领域。在本例中,该系统是使用C#编程...
1、城市间的距离网采用的邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。要求在屏幕上显示得到的最小生成树中包括了哪些城市间的...
在给定的文件中,任务是设计一个程序,利用Prim算法或Kruskal算法找到一个地区n个城市间的最小生成树,并展示这个树的构建过程以及它的总成本。 **最小生成树** 是一个无环加权图的子集,包含了原图的所有顶点,...
总结来说,Dijkstra算法是解决城市间最短路径问题的有效工具,通过对邻接矩阵的操作,能够找出任意两个城市之间的最短路径。在实现时,我们需要考虑数据结构的设计、算法的正确实现以及用户交互的友好性。在给定的...
在GIS中计算两个地点之间的实际距离通常涉及以下步骤: 1. **坐标转换**:GPS坐标通常是WGS84坐标系,但在某些情况下,可能需要将其转换为当地使用的投影坐标系,以便更准确地进行平面距离计算。例如,UTM...
在地球表面两点间距离的计算中,我们通常使用球面距离公式,也称为大圆距离。由于地球并非完美的球体,而是椭球体,因此在精确计算时需要考虑地球的平均半径或赤道半径。最常用的计算方法是Haversine公式,它基于...
本项目提供了一种方法,通过计算两个矩阵之间的距离来衡量它们的相似度或差异度,并可视化这些关系。下面我们将深入探讨相关概念、计算方法以及如何绘制相关分析图。 1. **矩阵的基本概念**: 矩阵是由有序数组...
标题 "中国各省的省会间距离.rar" 涉及的知识点主要集中在地理信息系统(GIS)、数据处理和数据分析上。这个压缩包文件包含了关于中国所有省份省会之间的距离信息,这是地理学、交通运输、物流规划等领域的重要数据...
最后,“经纬度计算距离经纬度计算距离工具(gpsCal)”是核心应用,它利用GIS的基本原理,通过输入两个地理位置的经纬度,计算它们之间的直线距离(即大圆距离)。对于户外活动爱好者、旅行者以及需要精确地理信息的...
而BFS是一种非递归的广度优先遍历策略,适用于寻找图中两个节点间的最短路径,当所有边的权重相等时,BFS可以找到最短路径。 在这个项目中,针对省会城市间的最短距离问题,我们可以根据实际需求选择A*或BFS算法。...
Haversine公式考虑了地球的半径,通过两个点的经纬度差来计算出它们之间的弧度差,进而得到距离。 4. **批量计算**:在项目描述中提到的批量功能,意味着这个程序可以处理多对经纬度,计算它们与一组参考点(平均...
在城市地图中,每个城市可以被视为图中的节点,每条连接城市对的路线则代表了一条边,其权重通常表示为两个城市间的距离。最常用的解决方法是Dijkstra算法或Floyd-Warshall算法。 Dijkstra算法适用于单源最短路径...