almak için nasıl 2 tablolarasgari yarıçap konumu
1. feeds => id,name 2. feed_locations => id, feed_id, latitude,longitude,location_name
bir besleme birden çok yeri var var.
şimdi ben kullanıcı geçerli konumundan besleme yakınında aramak istediğiniz
Ben bu yüzden google konumu ve yarıçapı alımın
Şimdi ben bana neden vererek bu mysql sorgu
SELECT
`Feed`.`id`,
`Feed`.`name`,
(3959 * acos (cos (radians(40.7127837)) * cos(radians(FeedLocation.latitude)) * cos(radians(FeedLocation.longitude) - radians(-74.00594130000002)) + sin (radians(40.7127837)) * sin(radians(FeedLocation.latitude)))) AS `distance`,
(Select COUNT(id) FROM feed_locations WHERE feed_id = `Feed`.`id`) AS `location_count` FROM `feeds` AS `Feed`
LEFT JOIN `feed_locations` AS `FeedLocation` ON (`FeedLocation`.`feed_id` = `Feed`.`id`)
GROUP BY `Feed`.`id` HAVING distance < 10
ORDER BY `distance` ASC
Bu sorguyu kullanmak kullanıcı enlem veya boylam gerektirir ancak
i kullanıcı geçerli konumdan feed_locations en az mesafe gerektirir. Uzak alan bana en yüksek değeri verir, ancak feed_locations tablosundan en düşük değere ihtiyacım var.
Sorgum çalışıyor ancak sorunu çözelim:
Tek bir feed'in 10 konum gibi 1m, 2m, 3m, 4m, 5m, 10m, 100m mesafesi olması gibi. ve tüm beslemeyi 5 metre mesafeden bulmak istiyorum, ancak bu beslemenin 5m olduğunu gösteriyor. benden uzaklık ama sonuç 1m mesafe olmalıdır.
http://sqlfiddle.com/#!9/c408e6/5
Bir tablo oluşturduktan sonra tablodaki küme tablosuna göre, sonuç 1, şu anki konumumdan 4.02 m besleme geliyor, fakat bu feed'in tablo2'de 2 konumu var. Şimdi noktasıdır 0'dır sonucu, yer biri benden sıfır mil mesafede ama ben gördüğünüz bu sorguyu çalıştı keman olarak
Herhangi bir güncelleştirme var mı? Saygılar –
Yarın güncellenir i –