2010-09-02 62 views
1

我即將開始一個涉及GUI應用程序的項目,該應用程序需要顯示地圖界面,該地圖界面由不同縮放級別的全局地圖塊緩存(在本地磁盤上)生成。在Gtk +應用程序中顯示平鋪地圖

該應用程序將使用Gtk編寫,雖然我對基本的Gtk小部件相當熟悉,但我不確定如何接近地圖界面組件。有各種各樣的小部件,看起來可能是一個好開始(框架,佈局,視口),但我想知道其他人可能會如何處理同樣的問題。

我想諮詢一些具體方面的建議:
- 是否有可能有一個圖像(比如1000x1000),但只能在界面中顯示一個部分(比如500x500)?這裏的想法是當地圖正在滾動時,遺漏的圖塊可以添加到圖像的隱藏部分,因此沒有可見的遺漏圖塊。
- 能夠通過使用鼠標來抓取並拖動圖像來滾動地圖。
- 能夠在地圖的頂部繪製交互式疊加層。例如。代表地點標記的小圖標,可響應提示和鼠標按鈕事件。

任何開放源代碼的gtk應用程序,做一些類似的東西,我可以用作參考將是很好的。

乾杯

回答

1

我已經做了,但在代碼中,我不能分享。我目前的實現使用修改後的geoc(http://geocanvas.sourceforge.net/geoc/index.html),SqlLite with Spatialite和GDAL。有一種叫做「尚普蘭」的東西可能適合你的情況,但是它使用了雜波。

+0

感謝您的建議。我的項目可能會使用Perl/Gtk,所以我不能直接使用geocanvas(它似乎是所有的python),但它應該產生一些好主意。 – aaa90210 2010-09-21 02:58:55

+0

它有python綁定,但它是用C編寫的。 – Rubinium 2010-09-22 13:32:09

+0

嗯,我不知道我會考慮爲它編寫Perl綁定有多瘋狂......但它看起來非常像我想要的。 – aaa90210 2010-09-23 00:53:38