Javascript 我如何知道一个坐标(纬度和地段)是否在其他两个坐标的范围内?

Javascript 我如何知道一个坐标(纬度和地段)是否在其他两个坐标的范围内?,javascript,typescript,geolocation,coordinates,Javascript,Typescript,Geolocation,Coordinates,我有一个我认为很容易解决的问题,但我仍然在努力寻找答案,可能是因为我的数学不是很好,或者不知道坐标是如何工作的 我有两个代表地理位置的点,a和b: const a = { lat: 0, lon: 0, } const b = { lat: 0, lon: 0 } 如果输入c,那么c是否在a和b中 a表示左上角,b表示右下角,例如: 及 实施的一个大致示例是: type Coordinate = { lat: number lon: number } const a

我有一个我认为很容易解决的问题,但我仍然在努力寻找答案,可能是因为我的数学不是很好,或者不知道坐标是如何工作的

我有两个代表地理位置的点,
a
b

const a = {
  lat: 0,
  lon: 0,
}

const b = {
  lat: 0,
  lon: 0
}
如果输入
c
,那么
c
是否在
a
b

a
表示左上角,
b
表示右下角,例如:

实施的一个大致示例是:

type Coordinate = {
  lat: number
  lon: number
}

const a: Coordinate = {
  lat: 48.881366,
  lon: 2.327037
}

const b: Coordinate = {
  lat: 48.878525,
  lon: 2.331655
}


function isWithinGeoRange(c: Coordinate): boolean {
  return false
}

const c = {
  lat: 48.879971,
  lon: 2.329885
}

isWithinGeoRange(c) // true | false
我知道我应该展示我尝试过的例子和东西,但我什么都没尝试,因为这是我第一次乱搞地图和地理位置,所以我不知道从哪里开始


谢谢。

确定点是否在矩形内的公式为

if (pt.x >= rect.x && pt.x <= rect.x + rect.width 
  && pt.y >= rect.y && pt.y <= rect.y + rect.height)

if(pt.x>=rect.x&&pt.x=rect.y&&pt.y我认为这是假设笛卡尔坐标。在球坐标系中,值是环绕的。如果我们处理球坐标,这不需要考虑吗?@Burt_Harris.Yesm。但是纬度和经度是二维的。我们只讨论物体表面上的点行星,而不是地球内部的点sphere@JonasWilms威尔斯电杆不是问题。你认为他们是如何将一张二维的纸放在地球仪上的?纸本身不是矩形,但它仍然是二维的,使用纬度和经度可以在地球仪上创建矩形globe@ControlAltDel将一个坐标移动到杆上。那么事情就变得复杂了。@Jonas Wilms,当你把一个坐标移到一个精确的极点位置时,经度就不存在了。这样你就不能再用第二个点形成一个矩形,或者相应地说第三个点是否位于该区域内(除非我猜它位于第二个点的精确经度上)。这是矩形折叠为直线的特殊情况。球坐标数学是一个复杂的主题。最好的答案可能是找到一个处理该主题的库,而不是自己编写。找到一些候选对象。