获取一个区域内的所有坐标

问题描述 投票:0回答:1

我与谷歌地图API的工作,并在全球拥有数坐标(标记)。如何获得一英里内的点的标记列表与中央的“A”标记的最好方法?

我认为,第一种方式是计算A点和所有其他点之间的距离和数组进行排序。它的工作原理,但占据N相互作用。

第二种方式将存储的坐标和“块”(城市,州,国家),并重复前面的方法,只是这里面的“块”搜索。它仍然是N,但现在的“n”是较小的。

什么是存储数据,并在其上工作的最好方法?

javascript google-maps data-structures coordinates closest
1个回答
0
投票

你可以存储几个有序的指数 - 和坐标列表,每个基于要么X,Y或Z,或经度或纬度的信息。

例如:

Points = {(2,3), (6,4), (7,1), (1, 9)};

xList = {1, 2, 6, 7};
xIndexList = {3, 0, 1, 2};

yList = {1, 3, 4, 9};
yIndexList = {2, 0, 1, 3};

A的然后你就可以从1英里筛选x值x坐标和相同的Y值,只考虑这些指标的重叠。 (您仍然应该做这点距离检查之后。)

这是有点麻烦,虽然,一个应该是围绕极点,如果使用球面坐标日线小心,但它至少是快。

© www.soinside.com 2019 - 2024. All rights reserved.