-1

我在谷歌地图上引用了一些位置(通过使用 AJAX 加载 JSON 数据),然后我将这些点存储在一个数组中,然后我将一些标记相互链接,并将折线也存储在一个数组中。

现在我正在尝试过滤一些标记(给定它们的名称),我从上一个列表中检索相应的标记(或点),然后我对所有折线执行循环以获取以后一点为起点或终点的折线. 问题是我使用此函数仅从折线获取起点和终点的坐标polyline.getPath().getAt(indiceLoop);,我需要将其与点的坐标进行比较。

那么,有没有办法在给定一个已经创建的点的情况下获取坐标 LatLng?

非常感谢 !

4

2 回答 2

1

假设一个 google.maps.Marker(“标记”)和一个 google.maps.Polyline(“折线”)。未测试。

if (google.maps.geometry.spherical.computeDistanceBetween(marker.getPosition(),polyline.getPath().getAt(0)) < 0.1) {
  // marker is at start of polyline
  alert("marker at start");
} else if (google.maps.geometry.spherical.computeDistanceBetween(marker.getPosition(),polyline.getPath().getAt(polyline.getPath().getLength()-1)) < 0.1) {
  // marker is at end of polyline
  alert("marker at end");
}
于 2013-05-20T18:37:41.773 回答
0

我实际上最终使用了 marker.getPosition().equals(line.getpath().getAt()) 并且对于 line end 也是如此,它工作得很好!

谢谢你的提议:)

于 2013-05-20T21:51:00.483 回答