PHP và SQL: Tính toán hoặc truy vấn khoảng cách vòng tròn lớn giữa các điểm của vĩ độ và kinh độ với công thức Haversine

Công thức Haversine - Tính khoảng cách vòng tròn lớn với PHP hoặc MySQL

Tháng này, tôi đã lập trình khá nhiều về PHP và MySQL liên quan đến GIS. Tìm kiếm xung quanh mạng, tôi thực sự đã gặp khó khăn khi tìm thấy một số Tính toán địa lý để tìm khoảng cách giữa hai vị trí, vì vậy tôi muốn chia sẻ chúng ở đây.

Bản đồ chuyến bay Châu Âu với khoảng cách vòng tròn lớn

Cách đơn giản để tính khoảng cách giữa hai điểm là sử dụng công thức Pitago để tính cạnh huyền của một tam giác (A² + B² = C²). Điều này được gọi là Khoảng cách Euclide.

Đó là một khởi đầu thú vị nhưng nó không áp dụng với môn Địa lý vì khoảng cách giữa các đường vĩ độ và kinh độ là không phải là một khoảng cách bằng riêng biệt. Khi bạn càng đến gần đường xích đạo, các đường vĩ độ càng xa nhau. Nếu bạn sử dụng một số loại phương trình tam giác đơn giản, nó có thể đo khoảng cách chính xác ở một vị trí và sai khủng khiếp ở vị trí khác, do độ cong của Trái đất.

Khoảng cách vòng tròn lớn

Các tuyến đường di chuyển xa quanh Trái đất được gọi là Khoảng cách vòng tròn lớn. Đó là… khoảng cách ngắn nhất giữa hai điểm trên hình cầu khác với các điểm trong bản đồ phẳng. Kết hợp điều đó với thực tế là các đường vĩ độ và kinh độ không bằng nhau… và bạn đã có một phép tính khó.

Đây là video giải thích tuyệt vời về cách các Vòng kết nối lớn hoạt động.

Công thức Haversine

Khoảng cách sử dụng độ cong của Trái đất được kết hợp trong Công thức Haversine, sử dụng lượng giác để cho phép độ cong của trái đất. Khi bạn đang tìm khoảng cách giữa 2 nơi trên trái đất (khi quạ bay), một đường thẳng thực sự là một đường cung.

Điều này có thể áp dụng trong chuyến bay hàng không - bạn đã bao giờ nhìn vào bản đồ thực tế của các chuyến bay và nhận thấy chúng được hình cung? Đó là bởi vì bay trong vòm giữa hai điểm sẽ ngắn hơn so với trực tiếp đến vị trí.

PHP: Tính khoảng cách giữa 2 điểm vĩ độ và kinh độ

Dù sao, đây là công thức PHP để tính khoảng cách giữa hai điểm (cùng với chuyển đổi Mile so với Kilômét) được làm tròn đến hai chữ số thập phân.

function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2, $unit = 'miles') {
  $theta = $longitude1 - $longitude2; 
  $distance = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta))); 
  $distance = acos($distance); 
  $distance = rad2deg($distance); 
  $distance = $distance * 60 * 1.1515; 
  switch($unit) { 
    case 'miles': 
      break; 
    case 'kilometers' : 
      $distance = $distance * 1.609344; 
  } 
  return (round($distance,2)); 
}

SQL: lấy tất cả hồ sơ trong một phạm vi By Tính cách Trong Miles Sử dụng Latitude và Longitude

Cũng có thể sử dụng SQL để thực hiện một phép tính để tìm tất cả các bản ghi trong một khoảng cách cụ thể. Trong ví dụ này, tôi sẽ MyTable truy vấn trong MySQL để tìm tất cả các hồ sơ mà là nhỏ hơn hoặc bằng với biến $ khoảng cách (trong Miles) đến vị trí của tôi tại $ vĩ độ và kinh độ $:

Truy vấn để lấy tất cả các bản ghi trong một khoảng cách bằng cách tính toán khoảng cách trong dặm giữa hai điểm của vĩ độ và kinh độ là:

$query = "SELECT *, (((acos(sin((".$latitude."*pi()/180)) * sin((`latitude`*pi()/180)) + cos((".$latitude."*pi()/180)) * cos((`latitude`*pi()/180)) * cos(((".$longitude."- `longitude`)*pi()/180)))) * 180/pi()) * 60 * 1.1515) as distance FROM `table` WHERE distance <= ".$distance."

Bạn sẽ cần phải tùy chỉnh điều này:

  • $ kinh độ - đây là một biến PHP mà tôi đang truyền kinh độ của điểm.
  • $ vĩ độ - đây là một biến PHP mà tôi đang truyền kinh độ của điểm.
  • $ khoảng cách - đây là khoảng cách mà bạn muốn tìm tất cả các bản ghi nhỏ hơn hoặc bằng.
  • bàn - đây là bảng… bạn sẽ muốn thay thế nó bằng tên bảng của mình.
  • vĩ độ - đây là trường vĩ độ của bạn.
  • kinh độ - đây là trường kinh độ của bạn.

SQL: Truy xuất tất cả các bản ghi trong một phạm vi bằng cách tính toán khoảng cách theo ki lô mét sử dụng vĩ độ và kinh độ

Và đây là truy vấn SQL sử dụng km trong MySQL:

$query = "SELECT *, (((acos(sin((".$latitude."*pi()/180)) * sin((`latitude`*pi()/180)) + cos((".$latitude."*pi()/180)) * cos((`latitude`*pi()/180)) * cos(((".$longitude."- `longitude`) * pi()/180)))) * 180/pi()) * 60 * 1.1515 * 1.609344) as distance FROM `table` WHERE distance <= ".$distance."

Bạn sẽ cần phải tùy chỉnh điều này:

  • $ kinh độ - đây là một biến PHP mà tôi đang truyền kinh độ của điểm.
  • $ vĩ độ - đây là một biến PHP mà tôi đang truyền kinh độ của điểm.
  • $ khoảng cách - đây là khoảng cách mà bạn muốn tìm tất cả các bản ghi nhỏ hơn hoặc bằng.
  • bàn - đây là bảng… bạn sẽ muốn thay thế nó bằng tên bảng của mình.
  • vĩ độ - đây là trường vĩ độ của bạn.
  • kinh độ - đây là trường kinh độ của bạn.

Tôi đã sử dụng mã này trong một nền tảng lập bản đồ doanh nghiệp mà chúng tôi đã sử dụng cho một cửa hàng bán lẻ với hơn 1,000 địa điểm trên khắp Bắc Mỹ và nó hoạt động rất tốt.

76 Comments

  1. 1

    Cảm ơn bạn rất nhiều vì đã chia sẻ. Đây là một công việc sao chép và dán dễ dàng và hoạt động tốt. Bạn đã tiết kiệm cho tôi rất nhiều thời gian.
    FYI cho bất kỳ ai chuyển đến C:
    double deg2rad (độ kép) {return deg * (3.14159265358979323846 / 180.0); }

  2. 2

    Đoạn đăng rất hay - hoạt động rất tốt - mình chỉ đổi tên bàn giữ lat-long. Nó hoạt động khá nhanh để .. Tôi có một số lượng vĩ độ nhỏ hợp lý (<400) nhưng tôi nghĩ điều này sẽ mở rộng tốt. Trang web cũng đẹp - tôi vừa thêm nó vào tài khoản del.icio.us của mình và sẽ kiểm tra lại thường xuyên.

  3. 4
  4. 5
  5. 8

    tôi nghĩ rằng SQL của bạn cần một câu lệnh có.
    thay vì WHERE khoảng cách <= $ khoảng cách bạn có thể cần
    sử dụng HAVING distance <= $ distance

    nếu không, cảm ơn vì đã tiết kiệm cho tôi rất nhiều thời gian và năng lượng.

  6. 10
  7. 11
  8. 12

    Cảm ơn rất nhiều vì đã chia sẻ mã này. Nó đã tiết kiệm cho tôi rất nhiều thời gian phát triển. Ngoài ra, cảm ơn độc giả của bạn đã chỉ ra rằng câu lệnh HAVING là cần thiết cho MySQL 5.x. Rất hữu ích.

  9. 14
  10. 15
  11. 16

    Tôi cũng thấy rằng WHERE không hiệu quả với tôi. Đã thay đổi nó thành HAVING và mọi thứ hoạt động hoàn hảo. Lúc đầu, tôi đã không đọc các bình luận và viết lại nó bằng cách sử dụng một lựa chọn lồng nhau. Cả hai sẽ hoạt động tốt.

  12. 17
  13. 18

    Cực kỳ hữu ích, cảm ơn bạn rất nhiều! Tôi đang gặp một số vấn đề với “HAVING” mới, chứ không phải là “WHERE”, nhưng khi tôi đọc các bình luận ở đây (sau khoảng nửa giờ nghiến răng vì bực bội = P), tôi đã làm cho nó hoạt động tốt. Xin cảm ơn ^ _ ^

  14. 19
  15. 20

    Hãy nhớ rằng một câu lệnh chọn lọc như vậy sẽ rất nặng về mặt tính toán và do đó chậm. Nếu bạn có nhiều truy vấn đó, nó có thể làm mọi thứ bị sa lầy khá nhanh.

    Một cách tiếp cận ít dữ dội hơn nhiều là chạy lựa chọn đầu tiên (thô) bằng cách sử dụng vùng SQUARE được xác định bởi một khoảng cách được tính toán, tức là “chọn * từ tên bảng trong đó vĩ độ giữa vĩ độ1 và vĩ độ2 và kinh độ giữa vĩ độ1 và lon2”. lat1 = targetlatitude - latdiff, lat2 = targetlatitude + latdiff, tương tự với lon. latdiff ~ = khoảng cách / 111 (ví km), hoặc từ xa / 69 dặm từ 1 độ vĩ độ là ~ 111 km (biến thể nhẹ từ trái đất là hơi trái xoan, nhưng đủ cho mục đích này). londiff = khoảng cách / (abs (cos (deg2rad (vĩ độ)) * 111)) - hoặc 69 dặm (bạn thực sự có thể mất một hình vuông lớn hơn một chút để tài khoản cho các biến thể). Sau đó lấy kết quả của nó và đưa nó vào vùng chọn xuyên tâm. Chỉ cần đừng quên tính đến các tọa độ nằm ngoài giới hạn - tức là phạm vi kinh độ chấp nhận được là -180 đến +180 và phạm vi vĩ độ chấp nhận được là -90 đến +90 - trong trường hợp vĩ độ hoặc kinh đô của bạn nằm ngoài phạm vi này . Lưu ý rằng trong hầu hết các trường hợp, điều này có thể không áp dụng được vì nó chỉ ảnh hưởng đến các tính toán trên một đường thẳng qua Thái Bình Dương từ cực này sang cực khác, mặc dù nó giao nhau một phần của chukotka và một phần của alaska.

    Những gì chúng tôi đạt được bằng cách này là giảm đáng kể số điểm mà bạn thực hiện phép tính này. Nếu bạn có một triệu điểm toàn cầu trong cơ sở dữ liệu được phân bổ gần như đồng đều và bạn muốn tìm kiếm trong phạm vi 100 km, thì tìm kiếm đầu tiên (nhanh) của bạn có diện tích 10000 km vuông và có thể sẽ mang lại khoảng 20 kết quả (dựa trên phân phối đồng đều trên một diện tích bề mặt khoảng 500 triệu km vuông), có nghĩa là bạn chạy phép tính khoảng cách phức tạp 20 lần cho truy vấn này thay vì một triệu lần.

    • 21
      • 22

        Lời khuyên tuyệt vời! Tôi thực sự đã làm việc với một nhà phát triển, người đã viết một hàm kéo hình vuông bên trong và sau đó là một hàm đệ quy tạo các 'hình vuông' xung quanh chu vi để bao gồm và loại trừ các điểm còn lại. Kết quả là một kết quả cực kỳ nhanh chóng - anh ta có thể đánh giá hàng triệu điểm trong micro giây.

        Cách tiếp cận của tôi ở trên chắc chắn là 'thô thiển' nhưng có khả năng. Cảm ơn một lần nữa!

        • 23

          Doug,

          Tôi đã cố gắng sử dụng mysql và php để đánh giá xem một điểm vĩ độ dài có nằm trong một đa giác hay không. Bạn có biết nếu người bạn là nhà phát triển của bạn đã xuất bản bất kỳ ví dụ nào về cách hoàn thành nhiệm vụ này. Hoặc bạn có biết bất kỳ ví dụ tốt. Cảm ơn trước.

  16. 24

    Xin chào mọi người, đây là câu lệnh SQL thử nghiệm của tôi:

    SELECT DISTINCT area_id, (
    (
    (
    acos( sin( ( 13.65 * pi( ) /180 ) ) * sin( (
    `lat_dec` * pi( ) /180 ) ) + cos( ( 13.65 * pi( ) /180 ) ) * cos( (
    `lat_dec` * pi( ) /180 )
    ) * cos( (
    ( 51.02 - `lon_dec` ) * pi( ) /180 )
    )
    )
    ) *180 / pi( )
    ) *60 * 1.1515 * 1.609344
    ) AS distance
    FROM `post_codes` WHERE distance <= 50

    và Mysql đang nói với tôi rằng khoảng cách, không tồn tại dưới dạng cột, tôi có thể sử dụng thứ tự theo, tôi có thể làm điều đó mà không cần WHERE, và nó hoạt động, nhưng không phải với nó…

  17. 26

    Điều này thật tuyệt, tuy nhiên nó cũng giống như những con chim bay. Sẽ thật tuyệt nếu bạn thử kết hợp API google maps với điều này bằng cách nào đó (có thể sử dụng đường xá, v.v.) Chỉ để đưa ra ý tưởng sử dụng một hình thức vận chuyển khác. Tôi vẫn chưa tạo một hàm ủ mô phỏng trong PHP để có thể đưa ra giải pháp hiệu quả cho vấn đề người bán hàng đi du lịch. Nhưng tôi nghĩ rằng tôi có thể sử dụng lại một số mã của bạn để làm như vậy.

  18. 27
  19. 28

    Bài báo hay! Tôi đã tìm thấy rất nhiều bài báo mô tả cách tính khoảng cách giữa hai điểm nhưng tôi thực sự đang tìm kiếm đoạn mã SQL.

  20. 29
  21. 30
  22. 31
  23. 32
  24. 36

    2 ngày nghiên cứu để cuối cùng tìm ra trang này giải quyết được vấn đề của tôi. Có vẻ như tốt hơn là tôi nên sử dụng WolframAlpha của mình và học lại các bài toán của mình. Việc thay đổi từ WHERE thành HAVING có kịch bản của tôi theo thứ tự hoạt động. CẢM ƠN BẠN

  25. 37
    • 38

      Cảm ơn Georgi. Tôi tiếp tục nhận được cột 'khoảng cách' không được tìm thấy. Một khi tôi thay đổi WHERE thành HAVING, nó hoạt động như một sự quyến rũ!

  26. 39

    Tôi ước đây là trang đầu tiên tôi tìm thấy trên này. Sau khi thử nhiều lệnh khác nhau, đây là lệnh duy nhất hoạt động bình thường và với những thay đổi tối thiểu cần thiết để phù hợp với cơ sở dữ liệu của riêng tôi.
    Cảm ơn rất nhiều!

  27. 40

    Tôi ước đây là trang đầu tiên tôi tìm thấy trên này. Sau khi thử nhiều lệnh khác nhau, đây là lệnh duy nhất hoạt động bình thường và với những thay đổi tối thiểu cần thiết để phù hợp với cơ sở dữ liệu của riêng tôi.
    Cảm ơn rất nhiều!

  28. 41
  29. 42
  30. 43
  31. 45
  32. 46
  33. 47
  34. 49
  35. 50
  36. 52
  37. 53
  38. 55
  39. 56
  40. 58

    cảm ơn vì đã đăng bài viết hữu ích này,  
    nhưng vì lý do nào đó tôi muốn hỏi
    làm thế nào để lấy khoảng cách giữa coords bên trong mysql db và coords được người dùng chèn vào php?
    để mô tả rõ ràng hơn:
    1. người dùng phải chèn [id] để chọn dữ liệu được chỉ định từ db và coords của chính người dùng
    2. tệp php lấy dữ liệu đích (coords) bằng cách sử dụng [id] và sau đó tính toán khoảng cách giữa người dùng và điểm mục tiêu

    hoặc có thể chỉ cần lấy khoảng cách từ mã bên dưới?

    $ qry = “SELECT *, (((acos (sin ((“. $ latitude. ”* pi () / 180)) * sin ((` Latitude` * pi () / 180)) + cos ((“. $ vĩ độ. ”* pi () / 180)) * cos ((` Vĩ độ` * pi () / 180)) * cos (((“. $ kinh độ.” - `Kinh độ`) * pi () / 180) ))) * 180 / pi ()) * 60 * 1.1515 * 1.609344) như khoảng cách TỪ `MyTable` WHERE khoảng cách> =“. $ Khoảng cách. ” >>>> Tôi có thể "rút ngắn" khoảng cách từ đây không?
    cảm ơn một lần nữa,
    Timmy S

    • 59
  41. 60

    ok, mọi thứ tôi đã thử đều không hoạt động. Ý tôi là, những gì tôi có đều có hiệu quả, nhưng khoảng cách còn xa.

    Ai đó có thể thấy điều gì sai với mã này?

    if (Isset ($ _ POST ['đã gửi']))) {$ z = $ _POST ['mã vùng']; $ r = $ _POST ['bán kính']; echo “Kết quả cho“. $ z; $ sql = mysql_query (“CHỌN DISTINCT m.zipcode, m.MktName, m.LocAddSt, m.LocAddCity, m.LocAddState, m.x1, m.y1, m.verified, z1.lat, z2.lon, z1. thành phố, z1.state TỪ mrk m, zip z1, zip z2 WHERE m.zipcode = z1.zipcode VÀ z2.zipcode = $ z AND (3963 * acos (truncate (sin (z2.lat / 57.2958)) * sin (m. y1 / 57.2958) + cos (z2.lat / 57.2958) * cos (m.y1 / 57.2958) * cos (m.x1 / 57.2958 - z2.lon / 57.2958), 8))) <= $ r ") hoặc chết (mysql_error ()); while ($ row = mysql_fetch_array ($ sql)) {$ store1 = $ row ['MktName']. "”; $ store = $ row ['LocAddSt']. ””; $ store. = $ row ['LocAddCity']. ",". $ row ['LocAddState']. " “. $ Row ['mã vùng']; $ latitude1 = $ row ['lat']; $ longitude1 = $ row ['lon']; $ latitude2 = $ row ['y1']; $ longitude2 = $ row ['x1']; $ city = $ row ['thành phố']; $ state = $ row ['state']; $ dis = getnew ($ latitude1, $ longitude1, $ latitude2, $ longitude2, $ unit = 'Mi'); // $ dis = distance ($ lat1, $ lon1, $ lat2, $ lon2); $ đã xác minh = $ row ['đã xác minh']; if ($ verify == '1') {echo “”; echo “”. $ store. ””; echo $ dis. " cách xa hàng dặm"; echo “”; } else {echo “”. $ store. ””; echo $ dis. " cách xa hàng dặm"; echo “”; }}}

    mã functions.php của tôi
    function getnew ($ latitude1, $ longitude1, $ latitude2, $ longitude2, $ unit = 'Mi') {$ theta = $ longitude1 - $ longitude2; $ khoảng cách = (sin (deg2rad ($ latitude1)) * sin (deg2rad ($ latitude2))) + (cos (deg2rad ($ latitude1)) * cos (deg2rad ($ latitude2)) * cos (deg2rad ($ theta)) ); $ khoảng cách = acos ($ khoảng cách); $ khoảng cách = rad2deg ($ khoảng cách); $ khoảng cách = $ khoảng cách * 60 * 1.1515; switch ($ unit) {case 'Mi': break; trường hợp 'Km': $ quãng đường = $ khoảng cách * 1.609344; } return (round ($ distance, 2)); }

    Cảm ơn bạn trước

  42. 61
  43. 62

    Này Douglas, bài viết hay. Tôi thấy lời giải thích của bạn về các khái niệm địa lý và mã thực sự thú vị. Đề xuất duy nhất của tôi sẽ là khoảng trắng và thụt lề mã để hiển thị (như Stackoverflow chẳng hạn). Tôi hiểu rằng bạn muốn tiết kiệm không gian, nhưng khoảng cách / thụt lề mã thông thường sẽ giúp tôi, với tư cách là một lập trình viên, đọc và mổ xẻ dễ dàng hơn rất nhiều. Nhưng dù sao, đó là một việc nhỏ. Kịp các công việc tuyệt vời.

  44. 64
  45. 65
  46. 66
  47. 67
  48. 68
  49. 69
  50. 70

    có vẻ nhanh hơn (mysql 5.9) để sử dụng hai lần công thức trong vùng chọn và trong đó:
    $ công thức = “(((acos (sin ((“. $ latitude. ”* pi () / 180)) * sin ((` Latitude` * pi () / 180)) + cos ((“. $ vĩ độ.” ”* Pi () / 180)) * cos ((` Vĩ độ` * pi () / 180)) * cos (((“. $ Kinh độ.” - `Kinh độ`) * pi () / 180)))) * 180 / pi ()) * 60 * 1.1515 * 1.609344) ”;
    $ sql = 'SELECT *,'. $ công thức. ' như khoảng cách TỪ bảng WHERE '.. $ công thức.' <= '. $ khoảng cách;

  51. 71
  52. 72

    Cảm ơn rất nhiều vì đã cắt bài viết này. Nó rất hữu ích.
    Ban đầu, PHP được tạo ra như một nền tảng kịch bản đơn giản được gọi là “Trang chủ cá nhân”. Ngày nay PHP (viết tắt của Hypertext Preprocessor) là một giải pháp thay thế cho công nghệ Active Server Pages (ASP) của Microsoft.

    PHP là một ngôn ngữ phía máy chủ mã nguồn mở được sử dụng để tạo các trang web động. Nó có thể được nhúng vào HTML. PHP thường được sử dụng cùng với cơ sở dữ liệu MySQL trên máy chủ web Linux / UNIX. Nó có lẽ là ngôn ngữ kịch bản phổ biến nhất.

  53. 73

    Tôi thấy giải pháp trên không hoạt động đúng cách.
    Tôi cần thay đổi thành:

    $ qqq = “SELECT *, (((acos (sin ((“. $ latitude. ”* pi () / 180)) * sin ((` latt` * pi () / 180)) + cos ((”. $ vĩ độ. “* pi () / 180)) * cos ((` latt` * pi () / 180)) * cos (((”. $ kinh độ.“ - `longt`) * pi () / 180) ))) * 180 / pi ()) * 60 * 1.1515) như khoảng cách TỪ `đăng ký`“;

  54. 75
  55. 76

    Xin chào, xin vui lòng, tôi sẽ thực sự cần sự giúp đỡ của bạn về điều này.

    Tôi đã thực hiện một yêu cầu gửi đến máy chủ web của mình http://localhost:8000/users/findusers/53.47792/-2.23389/20/
    53.47792 = $ vĩ độ
    -2.23389 = $ kinh độ
    và 20 = khoảng cách tôi muốn lấy lại

    Tuy nhiên, sử dụng công thức của bạn, nó truy xuất tất cả các hàng trong db của tôi

    $ results = DB :: select (DB :: raw (“SELECT *, (((acos (sin ((“. $ latitude. ”* pi () / 180)) * sin ((lat * pi () / 180 )) + cos ((“. $ vĩ độ.” * pi () / 180)) * cos ((lat * pi () / 180)) * cos (((“. $ kinh độ.” - lng) * pi ( ) / 180)))) * 180 / pi ()) * 60 * 1.1515 * 1.609344) như khoảng cách TỪ điểm đánh dấu CÓ khoảng cách> = “. $ Khoảng cách));

    [{“Id”: 1, ”name”: ”Frankie Johnnie & Luigo Too”, “address”: ”939 W El Camino Real, Mountain View, CA”, ”lat”: 37.386337280273, ”lng”: - 122.08582305908, "Distance": 16079.294719663}, {"id": 2, "name": "Amici's East Coast Pizzeria", "address": "790 Castro St, Mountain View, CA", "lat": 37.387138366699, "lng": -122.08323669434, "distance": 16079.175940152}, {"id": 3, "name": "Kapp's Pizza Bar & Grill", "address": "191 Castro St, Mountain View, CA", "lat": 37.393886566162, "Lng": - 122.07891845703, "distance": 16078.381373826}, {"id": 4, "name": "Round Table Pizza: Mountain View", "address": "570 N Shoreline Blvd, Mountain View, CA", "Lat": 37.402652740479, "lng": - 122.07935333252, "distance": 16077.420540582}, {"id": 5, "name": "Tony & Alba's Pizza & Pasta", "address": "619 Escuela Ave, Mountain View, CA ”," lat ": 37.394012451172," lng ": - 122.09552764893," distance ": 16078.563225154}, {" id ": 6," name ":" Oregano's Wood-Fired Pizza "," address ":" 4546 El Camino Real, Los Altos, CA ”," lat ": 37.401725769043," lng ": - 122.11464691162," distance ": 16077.937560795}, {“ id ”: 7,” name ”:” Quán bar và đồ nướng ”,” địa chỉ ”:” 24 Whiteley Street, Manchester ”,” lat ”: 53.485118865967,” lng ”: - 2.1828699111938,” khoảng cách ”: 8038.7620112314}]

    Tôi muốn lấy chỉ hàng với 20 dặm nhưng nó mang lại cho tất cả các hàng. Làm ơn tôi đang làm gì sai

Bạn nghĩ gì?

Trang web này sử dụng Akismet để giảm spam. Tìm hiểu cách xử lý dữ liệu nhận xét của bạn.