ada*_*akk 5 javascript titanium coordinates
我正在尝试比较地图的纬度/经度坐标数组,以查看是否有任何“集群”或组合在一起。我想删除那些靠得太近的,所以如果地图上有 4-5 个堆叠在一起,它只会显示 1,直到你放大一点,然后它会再次重新计算所有这些。
我尝试将数组与其自身进行比较,但似乎没有给出一致的结果。以前有人尝试过类似的事情吗?
JSON 示例:
[
{
Latitude = "44.033843";
Longitude = "-79.48865499999999";
},
{
Latitude = "44.033843";
Longitude = "-79.48865499999999";
}]
Run Code Online (Sandbox Code Playgroud)
迭代节点,并且对于缩放级别,仅显示那些彼此之间超出设定距离的节点。半正矢公式很容易实现:这里是 JS 中的示例。
http://www.movable-type.co.uk/scripts/latlong.html
对于效率方面,您可能不想在每次迭代时根据临时列表计算整个列表,因此作为第一级整理,简单的舍入工作(每个度数彼此相距约 60 英里)...从舍入开始放大到最接近的 5 度,然后是 1 度,然后是十分之一、一百度等。对这些列表进行排序并首先提取唯一的数组值 - 然后计算与结果列表的距离。
当然还有许多其他算法可以做到这一点 - 但在某些时候你必须计算距离。
| 归档时间: |
|
| 查看次数: |
2984 次 |
| 最近记录: |