-
1 # 白虎甩尾財富到加
-
2 # 三哥在魔獸
1、從資料庫裡讀取資訊資料庫裡需要儲存的資訊至少為:經緯度point,標註圖片icon。讀取後,建立點、標註。(注意:只是建立標註,並不新增到地圖上。)//建立10個點var p1 = new BMap.Point(116.387452,39.947302);var p2 = new BMap.Point(116.361581,39.961129);var p3 = new BMap.Point(116.437901,39.960133);var p4 = new BMap.Point(116.459748,39.919528);var p5 = new BMap.Point(116.424247,39.939557);var p6 = new BMap.Point(116.485188,39.974511);var p7 = new BMap.Point(116.485188,39.974511);var p8 = new BMap.Point(116.494243,39.930484);var p9 = new BMap.Point(116.45328,39.884103);var p0 = new BMap.Point(116.456011,39.844671);//建立10張圖示var icon1 = new BMap.Icon("img/1.jpg", new BMap.Size(50,50));var icon2 = new BMap.Icon("img/2.jpg", new BMap.Size(50,50));var icon3 = new BMap.Icon("img/3.jpg", new BMap.Size(50,50));var icon4 = new BMap.Icon("img/4.jpg", new BMap.Size(50,50));var icon5 = new BMap.Icon("img/5.jpg", new BMap.Size(50,50));var icon6 = new BMap.Icon("img/6.jpg", new BMap.Size(50,50));var icon7 = new BMap.Icon("img/7.jpg", new BMap.Size(50,50));var icon8 = new BMap.Icon("img/8.jpg", new BMap.Size(50,50));var icon9 = new BMap.Icon("img/9.jpg", new BMap.Size(50,50));var icon0 = new BMap.Icon("img/0.jpg", new BMap.Size(50,50));//建立10個marker,但不新增到地圖上var m1 = new BMap.Marker(p1,{icon:icon1});var m2 = new BMap.Marker(p2,{icon:icon2});var m3 = new BMap.Marker(p3,{icon:icon3});var m4 = new BMap.Marker(p4,{icon:icon4});var m5 = new BMap.Marker(p5,{icon:icon5});var m6 = new BMap.Marker(p6,{icon:icon6});var m7 = new BMap.Marker(p7,{icon:icon7});var m8 = new BMap.Marker(p8,{icon:icon8});var m9 = new BMap.Marker(p9,{icon:icon9});var m0 = new BMap.Marker(p0,{icon:icon0});為了方便運算,用一個數組將標註集合起來://建立一個marker的陣列var markers = [m1,m2,m3,m4,m5,m6,m7,m8,m9,m0,m11,m12,m13,m14,m15,m16,m17,m18,m19,m10,m21,m22,m23,m24,m25,m26,m27,m28,m29,m20];2、判斷標註是否在可視區域內利用幾何運算的LIB可以輕鬆判斷,標註是否在可視區域內。幾何運算LIB:http://dev.baidu.com/wiki/map/index.php?title=MapLibrary判斷標註如果在可視區域內,則新增到地圖上;如果標註不在可視區域內,則刪除它。判斷程式碼://顯示可視區域內的標註function addMymarkers(){for(i=0;i<markers.length;i++){var result = BMapLib.GeoUtils.isPointInRect(markers[i].point, map.getBounds());if(result == true) map.addOverlay(markers[i]);else map.removeOverlay(markers[i]);}}3、將可視區域內的標註新增到地圖上在圖塊載入完畢,地圖中心點改變,和地圖級別改變時,都需要進行一次新增/移除標註的操作。//對地圖級別變化、移動結束和圖塊載入完畢後,進行新增marker的操作map.addEventListener("tilesloaded", addMymarkers);map.addEventListener("zoomend", addMymarkers);map.addEventListener("moveend", addMymarkers);4、給標註的區域畫一個框為了方便觀看,我用的是折線覆蓋物,你也可以使用多邊形覆蓋物。//新增一個矩形覆蓋物var polyline = new BMap.Polyline([new BMap.Point(116.279655,40.020499),new BMap.Point(116.260683,39.833259),new BMap.Point(116.532043,39.830599),new BMap.Point(116.526869,40.021383),new BMap.Point(116.279655,40.020499)], {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5});map.addOverlay(polyline);
各方面要求不高的話,確實可以自己找底圖再繪製上去。 如果是要用到公開場合,如公司宣傳等商業用途沒有透過稽核的圖是不能用的。 標註點位比較多、就需要找更高畫質晰度的底圖,這些資料是不對個人使用者開放的。 所以為了保證商業用圖,一要合法性,二要美觀度,還是會需要專業公司幫助完成。 參考案例:你可以去這裡看看網頁連結 請點選輸入圖片描述 湘圖傳媒官網
請問這種地圖資料化怎麼製作的?期待大神回答
一般是echarts,antv這種前端框架,因為比較好調節效果。複雜或者更精確的,非標準行政區劃的圖,又對最終效果不要求那麼炫酷,可以用arcgis,supermap這種專業地圖軟體,最笨的方法是ps摳圖,疊加
怎樣做一個用地圖統計資料
地圖統計資料有很多啊,一般線上的資料分析工具都有這個功能,我經常用的BDP個人版裡面就含有這些功能呢,我可以分享一些圖片給你看,操作很簡單 圖片均來自BDP個人版~
6 瀏覽1938 2016-12-12
Excel 如何製作資料地圖
關於這個問題,製作資料地圖的方法已不新奇,總體來說有這麼幾類方案: 一類方案:直接在excel裡製作 優勢:個人小資料量應用較為方便簡單 缺點:需要熟悉VBA,且更強大的功能對VBA水平要求較高 1、繪製地圖圖形 + VBA宏語言 思路:用插入圖形"任意多邊形"繪製地圖;每一個"任意多邊形"賦予正確名稱;對"任意多邊形"賦值;利用VBA對"任意多邊形"的值進行操作, 例如上色。 先準備一張所需要的地圖圖片,網上都有,可以下載,然後利用插入繪製多邊形圖片將地圖中的區域描邊,選定好的區域可以在左上角修改名稱 將資料表中的資料和地圖中的地區做關聯,這裡就要用到VBA了。 程式碼: [plain] view plain copy Sub ProvRefill() ActiveSheet.Shapes.Range(Array("shandong")).Select With Selection.ShapeRange.Fill .Visible = msoTrue .ForeColor.ObjectThemeColor = msoThemeColorAccent1 .ForeColor.TintAndShade = 0 .ForeColor.Brightness = -0.5 .Transparency = 0 .Solid End With End Sub 這段程式碼是修改地圖所選區域的顏色的,其他功能類似,懂VBA的會覺得簡單,不懂的可以自行百度。 2、EXCEL外掛整合 這類外掛有很多,推薦Power Map for Excel 2013,安裝好之後,選擇資料區域,啟動就行。 二類方案:其他軟體 優勢:地圖已整合在內,可連線資料庫,已有功能強大大資料量處理具有優勢 缺點:自定義開發對人員水平要求較高,較困難 這一類軟體一般是資料視覺化的軟體,能用到EXCEL資料來源的,現在比較普遍的是報表工具和所謂商業智慧大資料工具。 不多說,大家可能覺得陌生,那就直接上例項。 這裡介紹FineReport(功能強大最實際的報表工具) 展示資料地圖不在話下,關鍵有地圖鑽取功能。 所謂鑽取就是:比如你點選山東省,進入山東省省地圖,顯示山東省各市的資料,資料的展示方式可以使用其他圖表,比如條形圖、氣泡圖等等。 1、 準備資料來源 將excel的資料匯入到這個報表設計器裡,如果你的excel資料是取自於資料庫的話,可以直接從設計器裡讀取資料庫的資料。 2、 合併一片單元格,點選選單欄中的插入>單元格元素>插入圖表,選擇地圖,然後點選確定,如下圖:(這裡申明一下,這個軟體類似於EXCEL,所以一些操作術語何以類比於EXCEL) 1、 選擇地圖型別,國家地圖、省級地圖還是其他云云,或者你有自定義的SVG地圖也行。這裡注意,地圖的區域名要和區域資料欄位的名字對應。 個人覺得鑽取才是其亮點,所以這裡一定要介紹一下。 鑽取: 定義好地圖的型別之後,就可以為地圖定義資料來源了,選中地圖,點選圖表屬性表-資料,進入資料設定面板,地圖展現方式選擇多層鑽取,如下圖: 鑽取層級下有個中國的資料夾,雙擊即可開啟檢視中國下面的省份,選中中國資料夾,右擊,則會跳出層級設定對話方塊。 要實現點選山東省能出現一張柱狀圖,這個其實是兩張圖表關聯的,所謂“聯動”。 聯動:合併一片單元格,點選插入>單元格元素>插入圖表,選擇柱形圖,點選確定即可新增一張柱形圖。 柱形圖的資料來源:(這裡我都是直接用資料庫的資料來源) 在此,地圖和柱形圖都已經設定好了,如果要實現聯動,需要在設定互動屬性。 選中地圖,在圖表屬性表中選擇特效,點選互動屬性,新增一個超級連結,即點選,新增一個圖表超鏈-聯動單元格。 到這裡基本就完成了,感覺自己做得圖有些low,別毀了人家名聲,其實人家功能很強大,視覺化很炫的。
回覆列表
“灣趣”就是一款地圖社交類APP利用地圖的打卡形式,將人與人之間串聯起來開啟app就能看到附近的人地圖上哪些人發了什麼有趣的事情還有主題地圖玩法,你會發現好吃好玩的都在一起,讓你瞭解個夠,不僅能參加別人建的主題地圖,還能建立屬於自己的主題地圖。