Google Maps API(3)computeDistanceBetween返回NaN

时间:2017-01-06 15:40:20

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

我们正在使用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,但它并没有为我效劳。

1 个答案:

答案 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;

proof of concept fiddle