2009-09-03 21 views
0

正如您可能知道的那樣,Google maps API中有一種編碼算法,它可以優化不同縮放級別下的多段線繪圖。它刪除 - 根據當前縮放級別添加路徑的座標並減少 - 增加繪圖計算時間。具體來說,我的意思是GPolyline.fromEncoded方法中的算法。 在除JavaScript以外的其他平臺中,我需要一種類似的算法。當然,我不認爲使用谷歌風格的專業代碼。是否有另一種算法,我可以看到代碼並根據合適的平臺重新實現它?或者你有什麼建議來完成不同縮放級別的路徑圖的優化?一種類似於Google地圖中的繪製編碼算法

回答

1

以下情況如何。

  1. 根據縮放級別選擇常量DetailRadius
  2. 選取多邊形上的起點。
  3. 測試多邊形的下一個點是否位於當前點周圍半徑爲DetailRadius的圓的內部或外部,即如果當前點和下一個點之間的距離小於或等於DetailRadius
    1. 如果下一個點位於半徑之外,則從當前位置移至此位置。
    2. 如果下一個點位於半徑範圍內,請將其刪除並在下一個點繼續。

人們還可以考慮在圈內刪除所有點,當前點不僅neighoubrs。這將導致進一步的細節減少,但計算更加昂貴,並可能導致更多的幾何失真,因爲它會「將點從當前點推開」。

+0

這似乎完全符合邏輯,但我會先嚐試一下,然後給你的答案一個反饋。謝謝 – cocoatoucher 2009-09-04 20:00:12

相關問題