获得LatLng给出一个观点

时间:2013-05-19 23:33:45

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

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

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

那么,有没有办法在已经创建的点上获得坐标LatLng?

非常感谢!

2 个答案:

答案 0 :(得分:1)

假设google.maps.Marker(“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");
}

答案 1 :(得分:0)

我实际上最终使用了marker.getPosition()。equals(line.getpath()。getAt())和行尾相同,它运行良好!!

感谢你的提议:)