我们正在使用Google Maps API在我们的网站上显示我们所有诊所的列表,并且我正在撰写“显示我附近的所有诊所”的过程中'特征。一切正常,我使用几何图书库中的Google Maps Circle调用在地图上绘制了一个圆圈。
我们想要返回该圈内所有诊所的清单。我们的诊所是通过$.get();
调用来自单独的.js文件加载的。我一直在弄乱google.maps.geometry.spherical.computeDistanceBetween(pointA, pointB);
功能,以测试每个诊所是否属于圈内,pointB
是圈子的中心,pointA
是诊所的位置 - 这两个都是通过new google.maps.LatLng(clinic.lat, clinic.long));
定义的。
ComputeDistanceBetween
为每个诊所不断返回NaN
。由于某些敏感问题,我无法分享我正在使用的确切代码,但我modified a Google Maps API fiddle for marker clustering HERE因为我们还使用了标记聚类,并且lat / longs加载与我们类似。
我已经检查了this post,但它并没有为我效劳。
答案 0 :(得分:2)
您的代码中有拼写错误。 locations[x].long
不存在,应该是locations[x].lng
所以你的功能应该是:
var mylocation = new google.maps.LatLng(locations[0].lat, locations[0].lng);
console.log(mylocation);
var marker_lat_lng = new google.maps.LatLng(locations[2].lat, locations[2].lng);
console.log(marker_lat_lng);
var distance_from_location = google.maps.geometry.spherical.computeDistanceBetween(mylocation, marker_lat_lng);
document.getElementById('feedback').innerHTML = distance_from_location;