En raison des limitations du moteur GQL, il a été suggéré que les personnes souhaitant effectuer une recherche de proximité devraient contourner ces limitations en utilisant le géomodèle suggéré. Il pourrait ne pas être une solution très élégante ou rapide, mais il n'y a rien pour arrêter toute personne qui utilise l'algorithme d'ici:Google App Engine et Google Maps Proximity Search en Python
SELECT id, (3959 * acos(cos(radians(lat_t)) * cos(radians(lat)) * cos(radians(lng) - radians(lng_t)) + sin(radians(lat_t)) * sin(radians(lat)))) AS distance FROM Stores HAVING distance < 25 ORDER BY distance
comme un moyen simple de calculer la distance. C'est à dire. nous calculons simplement la distance à la main pour chaque paire (lat, lng) et (lat_t, lng_t) en bouclant chaque enregistrement dans notre banque de données et obtenons ainsi l'identifiant de tous les enregistrements qui se trouvent dans notre distance cible sans recours à l'utilisation de la commande HAVING? Donc, pour résumer, nous ferions une simple recherche GQL pour obtenir tous les enregistrements et faire une boucle dans toutes les paires de lng/lat et les comparer avec nos valeurs cibles.
http://code.google.com/apis/maps/articles/geospatial.html