获取存储在数据库中的与我当前位置相比较的附近位置的列表
get a list of nearby location stored in the database compared to my current position
我使用jQuery移动和html5,我想有附近的列表(可变固定)的位置存储在我的数据库中,与我目前的位置相比,我应该使用函数ComputeDistanceBetween??怎么选择呢?拜托,我需要帮助这是我的尝试:
<!DOCTYPE html>
<html>
<head>
<script src="http://maps.google.com/maps/api/js?sensor=false&v=3&libraries=geometry"> </script>
</head>
<body>
<p id="demo"></p>
<button onclick="getLocation()" id="demo">get current location</button>
<button onclick="console.log(distance)">get ditance from current location to other location</button>
<script>
var x=document.getElementById("demo");
function getLocation() {
navigator.geolocation.getCurrentPosition(
function(position) {
var latLngA = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
var latLngB = new google.maps.LatLng(40.778721618334295, -73.96648406982422);
var distance =
google.maps.geometry.spherical.computeDistanceBetween
(latLngA, latLngB);
alert(distance);//In metres
},
function() {
alert("geolocation not supported!!");
}
);
}
</script>
</body>
</html>
我需要与数据库中的所有列表进行比较,而不是与一个点修复
如果您处理的数据量非常小,那么您可以查询数据库中的所有数据点并比较距离,然后选择距离最小的那个。这是非常低效的如果你只有几个数据点。
一个更好的解决方案可能是将地理点划分为象限,并将象限信息与点一起存储到数据库中。
然后,当您想要找到靠近给定点的点时,您从所讨论的点计算象限,并在数据库中查询象限中的所有点。然后,你只需比较那个象限中的那些。
您忘记提及的另一个重要事实是您的数据库后端是什么。这一点很重要,因为例如,如果你使用SQL Server 2008或更新版本,它内置了对空间数据的支持。
相关文章:
- 如何获取相对于 HTML 页面的标记位置
- 替换对象's的属性与另一个的属性相比较
- 获取一个元素相对于Javascript中一个祖先的位置
- 菜单不是绝对的href与位置href问题进行比较
- HTML / JS地理位置和比较坐标
- 如果语句比较位置
- 比较画布上两个位置的 x/y
- 比较身体中两个元素的位置
- 如何在javascript中比较两个元素的位置
- 将第一个数组中的元素位置与另一个数组进行比较
- 将对象与空引用进行比较时位置的影响
- 在javascript中比较位置的正确方法
- jQuery比较鼠标上下前后的位置
- 跨浏览器比较文档位置
- 如何获得SVG子元素的位置相对于SVG在页面上的位置,D3.js
- JavaScript选择的文本位置相对于父
- 将鼠标位置存储为变量,并与触发事件的值进行比较
- 下划线-比较两个对象数组(位置)
- 如何确定元素相对于(grand^N)父元素的位置
- 比较两个数组并推入另一个数组中的错误位置元素