原创 openlayers3中,在地圖上添加靜態邊界線

我們的底圖經常是在網絡上下載的,各區域並沒有的明顯分界,因此與一個市縣相關的地圖,我們需要將區域邊界線加入到底圖中顯示。如下圖的效果: 1.獲取區域邊界的經緯度,保存爲地理數據傳輸格式GeoJSONGeoJSON就是JSON格式,只不過

原创 openlayers3 自定義鷹眼縮略圖

openlayers3自帶的鷹眼縮略圖控件功能很侷限,想到自己動手去做,結果很容易就做出來了,這裏主要用到的是兩個map互相聯動。我粗糙的做了兩種縮略圖,介紹如下: 一、縮略圖可點擊,點擊後更改地圖 1.創建map和overview的ht

原创 使用three.js實現跟隨模型的第一人稱、第三人稱相機控制

       最近在我原有的“室內場景demo”的基礎上做了一個跟隨模型的第三人稱相機控制,以鍵盤wasd控制模型的行走,以鼠標控制模型的朝向。 在線地址 一、加載帶動畫的FBX模型 這裏使用了three.js中的FBXLoader來加載

原创 使用cesium創建icon+text類型的標註

從2維地圖轉3維地圖,越來越發現自己的不足,2維地圖的API都是很完善的,使用API就可以實現2維地圖的絕大部分功能,但是3維地圖API還不是很完善,很多東西都需要基礎開發,開發的過程中也可以學到很多。 1.創建icon+text類型的標

原创 使用openlayers3+中添加右鍵菜單

openlayers3+中沒有直接的監聽地圖右鍵的功能,但是我們可以通過使用jquery監聽地圖所在的html元素的右鍵事件來實現。 一、定義右鍵彈出框的html元素   <div id="contextmenu_container"

原创 three.js/webgl 展示城市建築

本文簡述如何在three.js中展示已有的城市建築面數據。 一、城市建築面數據格式 這裏的城市建築面數據指的是底部爲任意多邊形,包含高度屬性的面數據,這裏我們使用的數據源爲geojson格式的面數據。 二、構建幾何要素的頂點信息 我們根據

原创 GeoServer中WMS、WFS的請求規範

轉載自http://www.cnblogs.com/naaoveGIS/ 1.背景 1.1WMS簡介 Web地圖服務(WMS)利用具有地理空間位置信息的數據製作地圖。其中將地圖定義爲地理數據可視的表現。這個規範定義了三個操作:Get

原创 openlayers3使用已有的ArcGIS切片

有時候我們的切片數據是用ArcGIS配圖後切的,或者是用地圖下載器的ArcGIS切片的格式,項目需要用openlayers3,目前我用了三種方式來使用已有的ArcGIS切片。 1.使用發佈工具發佈,然後自己拼URL地址 使用IIS或者To

原创 js資源跨域訪問的問題

最近用cesium加載自己發佈的WMS底圖服務,遇到資源跨域報錯,主要是沒設置資源跨域訪問,查了一些資料,這裏總結一下: 1.Tomcat6、Tomcat7發佈的資源跨域設置: 需要下載cors-filter-1.7.jar、Java-p

原创 cesium初探之加載三維模型

項目需要用到二三維地圖切換,本來準備研究ArcGIS js for Web 3d,但考慮到版權的問題,決定試着用cesium來做,於是花了2天時間抱着試試看的心態把cesium從環境配置到加載三維模型完整的走了一遍。 一、環境配置 1.下

原创 openlayers3中,鼠標滾輪動畫

以前的web地圖,使用鼠標滾輪進行放縮時,通常會顯示放縮動畫,如下圖的效果,雖然現在主流web地圖中都已經取消了這個功能,但這裏還是備忘一下。(網上搜索的代碼,這裏總結一下) 1.建立放置動畫的容器 <div style="left:

原创 openlayers3加載各種底圖,補齊中..

不管是加載在線還是離線的底圖,無非是按照一定的規則,正確定義圖層(layer),然後將圖層添加到map對象中,這裏我map對象使用的座標系爲WGS84 4326,openlayers版本爲3.17。 1.在線天地圖交通圖 var tia

原创 WEB打印控件Lodop的使用

地圖的事情總是不多,總會涉及web開發中的其他技術,前幾天用到了LODOP打印控件,覺得簡單好用但功能強大,這裏備忘一下。 1.獲取發佈包,安裝打印控件 install_lodop32.exe適用於32位瀏覽器,install_lodop

原创 openlayers3和openlayers4,導航欄使用放縮平移動畫

openlayers3: openlayers3中,放縮就是更改view的zoom,平移就是更改view的center,基於這個原理,我們很容易就寫出放縮和平移的代碼,代碼如下: 放大爲例: function zoomIn() {

原创 openlayers3中三種動畫實現

一、.在div中使用CSS3動畫,以overlay的形式添加 1.先爲一個div創建css .css_animation{ height:50px; width:50px; border-r