Google maps ile yakınlık arama

2 Cevap php

Ben bir mağaza yeri uygulama geliştiriyorum.

Bir mağaza bakıldığında, şu anda adres ve posta koduna göre googlemaps içinde yerini gösterir.

Now I want to build a function which also shows other shops within 500 meter radius. To do this, I have to do a proximity search / calculation.

Benim en büyük soru, ben bu yaklaşımı nasıl olduğunu.

Ben bazı örnek kodu vardır ki, find this link yaptım. Ben kodu (ve ben kullanmalısınız kodları olan) kullanabilirsiniz Ama eğer ben emin değilim. Herkes daha iyi örnekler var mı?

Ayrıca ben her bir mağaza için coğrafi kodunu depolayan veritabanına yeni bir tablo ekleme düşünüyorum. Ben 'id' daha fazla alan, 'enlem' ve 'boylam' gerekir mi?

UPDATE
I just found this link at phpro.org. It looks like it's just what I need! Has anyone used their examples and can comment upon it?

2 Cevap

Cant yarıçapı arama direkt google maps API ile, ancak, bilmeniz gereken (veya adreslerini geocoding üzerinden bunları anlamaya) Eğer aramaya dahil etmek istediğiniz faiz (POI) her noktanın enlem ve boylamını.

Bundan sonra yakınlık aramak için Great Circle denklemi kullanabilir ve çok hızlı olduğu ortaya çıkıyor. Benim iş yerinde arama hizmeti için bir saklı yordam olarak bu uygulanır ve 0,1 saniyenin altında tepki süreleri ile> 3500 yerleri arama için kullanmak var.

Bazı SQL uygulamaları coğrafi uzantıları içerir. Bu uygulamalarında doğrudan belirli bir noktadan mesafe sonuçları filtreleyen bir WHERE yan tümcesi yazabilirsiniz.

SQL uygulama belgelerini kontrol edin. Bu coğrafi POINT türü varsa, o noktaları olarak yerine lat / lng çifti koordinatları girin ve yere göre ağırlıklı tablo erişim için gidiyoruz eğer bir UZAYSAL KEY olarak bu alanı kullanarak dikkate almak mantıklı.