找到传单中两个标记之间的中点

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

我希望能够找到地图上两个标记之间的中心点(如下例)。

leaflet
或其他包中是否有允许这样做的函数?先谢谢你了

coor_zone6 <- c(3.16680, 3.16176, 42.46667, 42.46997)
matrice_coord_zone6 <- matrix(coor_zone6, nrow=2, ncol = 2)
colnames(matrice_coord_zone6) <- c("long", "lat")
matrice_coord_zone6 <- data.frame(matrice_coord_zone6)
matrice_coord_zone6$name <- c("M_1","M_3")

leaflet(matrice_coord_zone6) %>%
  addMouseCoordinates(epsg = NULL, proj4string = NULL, native.crs = FALSE) %>%
  addProviderTiles("Esri.WorldImagery") %>%
  addMarkers(lng = ~long, lat = ~lat) %>%
  addPolylines(~long, ~lat, popup = ~name)
r google-maps-markers r-leaflet
1个回答
0
投票

我还没有找到任何可以执行此计算的leaflet函数,但是找到两个坐标之间的中间点并不难。

您必须将两个经度相加并将它们除以 2,您也必须对两个纬度执行相同的操作。

在你的情况下,如果我没有理解错的话,你的第一个坐标是(3.16680, 42.46667),你的第二个坐标是(3.16176, 42.46997),所以计算如下:

(3,16680 + 3,16176) / 2 = 3,16428
(42,46667 + 42,46997) / 2 = 42,46832

因此中间点如下:(3.16428, 42.46832)

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