我在Google地图上引用某些位置(通过使用AJAX加载JSON数据)然后我将这些点存储在数组中,然后我将一些标记相互链接并将折线存储在数组中。
现在我试图过滤一些标记(给定它们的名字),我从前一个列表中检索相应的标记(或点),然后在所有折线上执行循环以获得具有后一点的那些开始或结束。
问题是我使用此函数polyline.getPath().getAt(indiceLoop);
从折线仅得到起点和终点的坐标,我需要将其与点的坐标进行比较。
那么,有没有办法在已经创建的点上获得坐标LatLng?
非常感谢!
答案 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())和行尾相同,它运行良好!!
感谢你的提议:)