如何在FastReport VCL 6中使用交互式地圖
隨著Google地圖的出現(xiàn),交互式地圖變得非常流行。它們?cè)试S您導(dǎo)航地圖,放大和縮小以及其他許多功能。隨著FastReport VCL 6的發(fā)布,這些地圖可以嵌入到報(bào)告中。為此,您必須以兩種可用格式之一獲取地圖,并使用地圖對(duì)象將其插入到報(bào)告中。
您可以使用.shp和.osm格式的地圖,以及.gpx格式的gps軌道。
.shp - ShapeFile格式。這是存儲(chǔ)矢量地理信息數(shù)據(jù)的特殊格式。它由美國(guó)公司ESRI在20世紀(jì)90年代開發(fā)。目前,它是地理信息系統(tǒng)中最常用的格式。
其實(shí)ShapeFile不是一個(gè)文件。除.shp文件外,該集還包含.shx和.dbf。
第一個(gè).shp是數(shù)字的幾何描述。.shx文件有一個(gè)位置索引來將這些形狀相互綁定。.dbf文件包含有關(guān).shp文件中形狀的信息。
由于這是商業(yè)產(chǎn)品,有些地圖可能會(huì)收費(fèi)。
.osm格式是OpenStreetMap。這是基于xml的地理數(shù)據(jù)存儲(chǔ)格式。從標(biāo)題來看,這顯然是一個(gè)開放的項(xiàng)目,由志愿者完全支持。這個(gè)網(wǎng)絡(luò)項(xiàng)目是全球的全球地圖。志愿者們不斷用新的地理定位數(shù)據(jù),航空照片補(bǔ)充地圖。該項(xiàng)目已經(jīng)非常受歡迎,參與人數(shù)也很多。因此,地圖的細(xì)節(jié)處于足夠高的水平。osm中的所有地圖,如同shp一樣,以二維格式顯示,不顯示海拔高度以上的高度。
由于該項(xiàng)目是免費(fèi)的,地圖也是免費(fèi)的。
首先我們需要一張地圖。Map對(duì)象支持三種文件格式:.shp,.osm,.gpx。
前兩個(gè)代表矢量地圖,后者是地圖的一組路線和軌跡。您可以使用其中一種可用格式下載地圖,然后在新的GPS數(shù)據(jù)層中下載地圖。
在考慮Map對(duì)象之前,讓我們確定在哪里獲取這些地圖。您可以在互聯(lián)網(wǎng)上下載現(xiàn)成的地圖。許多網(wǎng)站都提供兩種格式的付費(fèi)和免費(fèi)地圖。
還有另一種方法可以使用地圖獲取文件。它適用于osm格式。有一項(xiàng)特殊服務(wù)——全球互動(dòng)地圖(www.openstreetmap.org)。該服務(wù)允許您選擇所需區(qū)域并將其導(dǎo)出到文件。但是,輸出區(qū)域的大小有限制。通常情況下,這個(gè)區(qū)域位于一個(gè)定居點(diǎn),或者它的一部分。我們來看看它的樣子:
通過點(diǎn)擊“Export”按鈕,瀏覽器下載osm文件。因此,如果您需要在地圖上顯示一個(gè)小區(qū)域,此服務(wù)將非常有幫助。
如果您只是想像我一樣嘗試,那么您可以從FastReport VCL 6交付中完成PortoSantoTrack.osm和PortoSantoTrack.gpx的完整文件。
創(chuàng)建一個(gè)報(bào)告。并添加一個(gè)地圖對(duì)象到頁面。順便說一下,除了“Data”之外,您可以將此對(duì)象放置在任何band中。添加一個(gè)對(duì)象后,我們會(huì)立即看到它的編輯器。
目前,該對(duì)象是空的。我們只看到:一般設(shè)置、色階、尺寸范圍。
地圖由圖層組成。您可以在一個(gè)圖層中顯示整個(gè)地圖,也可以將其分成幾個(gè)圖層。
在將地圖分成若干圖層的情況下,可以分別調(diào)整每個(gè)圖層——顏色、字體、線條粗細(xì)等。借助不同的圖層設(shè)置,例如,我們可以用藍(lán)色繪制河流,用紅色繪制道路。地圖對(duì)象由XML(OSM)文件中的標(biāo)簽描述。在每一層中,我們選擇我們需要用于顯示的標(biāo)簽(對(duì)象)。然后,在圖層設(shè)置中,設(shè)置參數(shù)(顏色、字體、厚度等)。所以,分層地圖允許我們根據(jù)需要自定義顯示。
在一個(gè)圖層中顯示地圖的情況下,這些設(shè)置將應(yīng)用于所有地圖對(duì)象,并且您無法調(diào)整其各個(gè)元素的顯示。
這里有必要說,對(duì)于.shp格式的地圖,只有一層是可見的。
要添加地圖,請(qǐng)單擊Add ... 按鈕:
出現(xiàn)Add Layer(添加圖層)窗口。選擇一個(gè)帶有地圖或GPS軌道的文件。您可以使用適當(dāng)?shù)倪x項(xiàng)將文件包含在報(bào)告中。下面我們看到添加圖層的另外兩個(gè)選項(xiàng):
- 一個(gè)包含應(yīng)用程序數(shù)據(jù)的空白圖層——用于構(gòu)建地圖的數(shù)據(jù)不僅可以位于文件中,還可以位于數(shù)據(jù)庫(kù)中。因此,創(chuàng)建一個(gè)空白層并配置到數(shù)據(jù)源的連接;
- 一個(gè)空的交互層——據(jù)我所知,它還沒有實(shí)現(xiàn)功能??梢允褂没謩?dòng)創(chuàng)建圖層。
按下OK按鈕。如果我們加載osm文件,我們將提供選擇標(biāo)簽的窗口:
現(xiàn)在,請(qǐng)注意!如果您點(diǎn)擊Cancel取消,該圖層的所有標(biāo)簽都會(huì)自動(dòng)選中。但我們正走向另一條路。
使用箭頭按鈕將標(biāo)簽移動(dòng)到右側(cè)。如果我們想要在多個(gè)圖層中顯示地圖,請(qǐng)選擇當(dāng)前圖層所需的標(biāo)簽。例如,在第一層中,我拖動(dòng)除公路和水路以外的所有標(biāo)簽:
下面的標(biāo)簽有一個(gè)過濾器。
按下OK按鈕,獲得幾乎整個(gè)地圖:
在“Appearance”選項(xiàng)卡上第1層的設(shè)置中,將“Point Size”設(shè)置為0,以便它們不會(huì)發(fā)生干擾:
關(guān)于圖層設(shè)置的幾句話。設(shè)置顯示在五個(gè)選項(xiàng)卡上:
- Data - 用于從數(shù)據(jù)庫(kù)使用地理數(shù)據(jù)的變體;
- Appearance - 設(shè)置線條的外觀;
- Color Ranges - 用于在地圖上自動(dòng)繪制對(duì)象的調(diào)色板設(shè)置;
- Size Ranges - 尺寸表或尺寸網(wǎng)格的設(shè)置;
- Labels - 標(biāo)簽設(shè)置。
與以前一樣添加一層。這次我們只會(huì)選擇高速公路標(biāo)簽。在外觀選項(xiàng)卡上,將邊框顏色更改為栗色。現(xiàn)在道路有栗色。
添加第三層。這一次,請(qǐng)選擇水路標(biāo)簽。將水對(duì)象的邊框顏色更改為藍(lán)色。并將邊框?qū)挾仍O(shè)置為2。
在地圖設(shè)置中,設(shè)置填充。一些柔和的顏色。
沒有足夠的標(biāo)簽。選擇第一層。在最后一個(gè)標(biāo)簽選項(xiàng)卡上,選擇名稱的標(biāo)簽種類。對(duì)于標(biāo)簽列——名稱值。
我們添加了地圖,現(xiàn)在讓我們來看看這張地圖的gps軌道的樣子。添加一個(gè)圖層并選擇擴(kuò)展名為.gpx的文件。
在Appearance選項(xiàng)卡上,為邊框顏色選擇鮮艷的顏色:
地圖已準(zhǔn)備就緒。運(yùn)行報(bào)告:
立即引人注目的是我們的亮粉色的gsp軌道。我們可以用鼠標(biāo)導(dǎo)航地圖。您可以使用鼠標(biāo)滾輪進(jìn)行放大和縮小。右上角是過濾單元。在它里面,如果它們干涉,你可以關(guān)閉圖層。例如,禁用最后一層——軌道:
就這樣。我同意,按層添加地圖有一些困難。您必須手動(dòng)添加必要的標(biāo)簽到圖層。但是,這種結(jié)果要比在一個(gè)圖層中添加所有標(biāo)簽要好得多。
產(chǎn)品介紹 | 下載試用 | 優(yōu)惠活動(dòng) | 在線客服 | 聯(lián)系Elyn