2012-04-02 100 views
0

我有一個允許半徑搜索的小項目。您輸入城市,州(或郵編)和半徑,然後根據返回的郵政編碼返回結果。目前這依賴於php和mysql。我想將這個過程移到客戶端。使用YQL獲取郵政編碼半徑中的郵政編碼

我很快找到使用YQL的解決方案,所以我想知道是否有其他人有一個想法或在正確的方向微調。

乾杯。

+0

這可能並不重要,但YQL實現很難稱爲「客戶端」。 – Pointy 2012-04-02 20:00:36

+0

我想將這個過程從服務器移動到客戶端,利用我所能夠使用的任何API。我不知道該怎麼說,但我覺得客戶端是適當的。如果有更適當的術語,請告訴我。謝謝。 – S16 2012-04-02 20:04:30

+0

mysql和php仍然必須是mysql和php,所有YQL都會爲你做的是允許你向不返回jsonp或不支持CORS的服務器發出跨域請求。 – 2012-04-02 20:20:29

回答

1

這不是YQL,但它可能有所幫助。就我個人而言,我會尋找具有經度/緯度的郵政編碼數據庫。當您/用戶指定郵政編碼和半徑時,您可以查詢其條目的緯度/經度,然後執行查找附近的其他郵政編碼。

這是一個半徑搜索,考慮到地球的用於計算曲率:

https://developers.google.com/maps/articles/phpsqlsearch

有趣的部分:

SELECT id, (3959 * acos(cos(radians(37)) * cos(radians(lat)) * cos(radians(lng) - radians(-122)) + sin(radians(37)) * sin(radians(lat)))) AS distance 
FROM markers HAVING distance < 25 
ORDER BY distance LIMIT 0 , 20; 

如果做不到這一點,你總是可以尋找一個API(可能是Google的導航/路線),並檢索2個郵政編碼之間的總(駕駛)距離。

希望可以幫到