javascript – 2个邮政编码之间的距离

前端之家收集整理的这篇文章主要介绍了javascript – 2个邮政编码之间的距离前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在使用Google Maps API来获取2个英国邮政编码之间的距离.

  1. var yourPostcode = $("#YourPostcode").val();
  2. var restaurantPostcode = $("#Postcode").val();
  3. var point1 = GetPointFromPostcode(yourPostcode);
  4. var point2 = GetPointFromPostcode(restaurantPostcode);
  5. var distance = point1.distanceFrom(point2,3959).toFixed(1);
  6. @H_403_7@

但是,GetPoint函数异步调用Google API,因此在计算时间距离时,第1点和第2点尚未设置(我相信这是发生了什么?)

我还在每个语句之后发出警报来检查变量的值,并且这样做我得到了正确的值,等待我点击确定必须给它足够的时间来获得结果吗?虽然它不再这样做了:(

这是获取功能

  1. function GetPointFromPostcode(postcode) {
  2. var point;
  3. localSearch.execute(postcode + ",UK");
  4. if (localSearch.results[0]) {
  5. var resultLat = localSearch.results[0].lat;
  6. var resultLng = localSearch.results[0].lng;
  7. point = new GLatLng(resultLat,resultLng);
  8. } else {
  9. $(".PostcodeError").append("Postcode Invalid");
  10. }
  11. return point;
  12. }
  13. @H_403_7@

我知道我可以在本地搜索时设置回调,以便在结果返回时调用,但问题是这里有2次搜索.

我想要的是在BOTH搜索返回结果后才调用计算距离线.

你知道怎么做吗?

谢谢

最佳答案
如果您能够获得每个邮政编码的GPS坐标(纬度,经度),请构建Javascript距离函数.

在C#中找到它here,但如果你想在JS中重现它,那么这个概念是一样的.

猜你在找的jQuery相关文章