如何使用google maps api获取北/南/东/西方向?

时间:2017-07-10 16:27:54

标签: google-maps google-maps-api-3 google-maps-markers

例如我有5个标记,我想根据主要标记(中心的红色)获取每个标记的方向(E,W,NE等)。这是一张照片。有没有办法用google.maps.DirectionsService执行此操作或以某种方式计算它? 谢谢。

enter image description here

更新:这是我得到的:

m.position.lng() - c.position.lng()
m.position.lat() - c.position.lat()

enter image description here

2 个答案:

答案 0 :(得分:1)

让我说出这个想法 您可以使用slope。假设您有一个标记M1和中心标记C Slope应该等于(C.lat - C.lng)/(M1.lat - M1.lng)如果斜率恰好接近0,如果M1.lng > C.lng它应该是West,则它可以是East或West。如果斜率差不多是1,它是西南或东北。那么,如果M1.lng > C.lng它是西南的话如果斜率接近-1,则它是西北或东南。然后我M1.lng > C.lng,它是西北。
您可以将相同的方法用于其他方向

答案 1 :(得分:1)

我们想要找到从A点到B点的主要方向:

if (A.lat > B.lat){
   NS = "S"
} else {
   NS = "N"
}

if (A.lng > B.lng){
   EW = "W"
} else {
   EW = "E"
}

cardinal_direction = NS + EW

可能的cardinal_direction值为:SW,SE,NW,NE