2015-09-07 33 views
1

我正在使用App Engine搜索將結果限制爲定義的圓圈內的結果。App Engine Geo的準確性搜索大圓圈?

distance("points", geopoint(%f,%f)) < %d" % (latitude, longitude, radii) 

對於10s,100s和1000s米的半徑,我得到正確的結果。 但是對於400,000(即400km)的半徑,則返回定義圓外的結果。

有誰知道這是這個平臺的限制嗎?我很難相信這個大圓圈不會被考慮在內。

回答

1

Google has a bug;報道於2013年2月,今天仍然存在。 問題跟蹤器將其優先級標記爲中等。

一個建議是看每個返回的結果,並檢查它是否是正確的。

它發生,如果谷歌的平臺上添加這個糾正一步,那麼你就爲這個功能付出兩次 - 谷歌的編碼執行產生的指正代碼集,一旦不正確的結果一次。

這是一個不平凡的變通佔總成績的任何計數可廣泛不正確的(例如,谷歌返回結果的100S但實際數量是零)。

如果你要顯示的結果爲性能的原因,然後這個bug殺死這種方法,因爲每個頁面設置可能不包含任何有效的結果,一旦你已經過濾掉無效的。

這是答案還是讓我和其他人錯過了一些重要的細節?