將外掛直接封裝為控制元件,大大簡化了GEPlugin的使用。多數常用功能也已經封裝完畢,其他功能全部開放介面,直接呼叫即可。
1、
GepluginControl控制元件傳送門:
連結:https://pan.baidu.com/s/1WC5FodF2GTk7Jj5EUOSWqQ 提取碼:fw7l
下載的是原始碼,找到debug目錄,將debug目錄下的所有檔案全部拷貝到你建立的專案的debug目錄下,或者release目錄。
檔案目錄:
將GEControl.dll新增到引用中,並且新增到工具箱中。不知道如何新增的話可自行搜尋,網上教程很多,在這不做過多贅述。
2、新增完成後,建議將屬性皮膚中LoadMap屬性設定為true,不設定也可以。
this.geWebControl1.InitGoogleMap():載入谷歌地圖並且顯示。只需要這一行程式碼即可完成谷歌地圖顯示
this.geWebControl1.StartWebserver();啟動webserver伺服器。這個是為了載入kml檔案和轉換高德地圖使用的。建議寫上。
3、執行程式:
如圖一些常用的基本功能已經封裝完畢。
那麼怎麼載入自己的kml檔案呢?
使用LoadKml方法,有兩個過載方法,其中一個方法整合好了型別,也就是第一個引數,其實第一個引數就是圖層名稱,在這裡已經把圖層命名好了,直接可以使用,圖層名稱必須是固定的,因為要跟後臺js互動,所以如果你知道js後臺都有方法,那麼你就可以用到第二個自定有的方法了。這個開放給你了所有許可權,你可以任意呼叫後臺js中存在的方法,方法種類繁多,不一一贅述。想要了解都有哪些方法,可看另一篇關於geplugin的博文。
第二個引數。啟動webserver伺服器的時候預設伺服器的根目錄為debug/Resource。因為這個開放自定義配置的話可能會因為目錄書寫不對,導致自己無法載入kml,所以為了避免因為此坑的產生。所以你的kml檔案直接放在debug/Resource資料夾下即可。當然你也可以修改原始碼,自己定義自己的root目錄。path為相對路徑,不是絕對路徑,請注意。說的太多不如給個例子 :path = "http://127.0.0.1:9630/3DMap/ditu.kml",細心的你會發現,Resource目錄下有3DMap檔案,也有ditu.kml檔案。所以一次類推,自己的kml檔案也可以自定義放置。
private void Method() { this.geWebControl1.LoadKML(GEControl.KMLType.importBackwardTrajKmlFilebyUrl, "path"); }
總結以上,一共只寫了三行程式碼,就完成了地圖的顯示,地圖常用功能的使用,kml檔案的載入。很方便。
注:只要將下載下來的debug目錄下的檔案直接放在自己所在專案的debug目錄下。並且新增好引用。幾萬行的程式碼量濃縮到了三行,即可完成相同的功能。
轉載請註明出處。