1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
| var areas_name = [ { name:'东北', cp:{'lng':123.307279,'lat':46.375662} }, { name:'华北', cp:{'lng':115.433236,'lat':41.707946} }, { name:'西北', cp:{'lng':96.888761,'lat':39.120975} }, { name:'西南', cp:{'lng':98.80208,'lat':31.2172815} }, { name:'华中', cp:{'lng':113.814274,'lat':29.236317} }, { name:'华东', cp:{'lng':118.523982,'lat':31.784774} } ]
var level = '全国'
function draw_china_test(provincesNames){ var china = $.ajax({url:"source/province/china.json",async:false}) chinaData = decode(JSON.parse(china.responseText)) var china = chinaData.features if(provincesNames == '全国'){ var chinajson = $.ajax({url:"source/chinaborder.json",async:false}); var china_border_json = JSON.parse(chinajson.responseText); var arr = [] for(i in areas_name){ viewer.entities.add({ id: areas_name[i].name, position : Cesium.Cartesian3.fromDegrees(areas_name[i].cp.lng, areas_name[i].cp.lat), label : { text : areas_name[i].name, font : '18px Helvetica', fillColor : Cesium.Color.WHITE, } }); } for(var i in china_border_json){ arr = [] for(j in china_border_json[i]){ arr.push(china_border_json[i][j].lng) arr.push(china_border_json[i][j].lat) } viewer.entities.add({ polyline : { id: "china_polyline"+i, positions : Cesium.Cartesian3.fromDegreesArray(arr), width : 1, material : new Cesium.PolylineOutlineMaterialProperty({ color : Cesium.Color.YELLOW, outlineWidth : 0, outlineColor : Cesium.Color.BLACK, }), clampToGround : true } }); }
provinces_Names_HB = ['北京','天津','河北','山西','山东','内蒙古'] provinces_Names_HD = ['上海','江苏','浙江','安徽','福建'] provinces_Names_DB = ['黑龙江','辽宁','吉林'] provinces_Names_HZ = ['湖北','湖南','河南','江西'] provinces_Names_XB = ['陕西','甘肃','青海','宁夏','新疆'] provinces_Names_XN = ['四川','重庆','西藏']
china.forEach( provinces => { var color = '' if($.inArray(provinces.properties.name , provinces_Names_HB) != -1){ color = 'SIENNA' }else if($.inArray(provinces.properties.name , provinces_Names_HD) != -1){ color = 'GREEN' }else if($.inArray(provinces.properties.name , provinces_Names_DB) != -1){ color = 'RED' }else if($.inArray(provinces.properties.name , provinces_Names_HZ) != -1){ color = 'ROYALBLUE' }else if($.inArray(provinces.properties.name , provinces_Names_XB) != -1){ color = 'GOLDENROD' }else if($.inArray(provinces.properties.name , provinces_Names_XN) != -1){ color = 'GREENYELLOW' }else{ color = 'SKYBLUE' } var province = provinces.geometry var areas = province.coordinates areas.forEach( (points) => { if(points[0][0] instanceof Array){ points.forEach(point=>{ draw_china_area(point,color) }) }else{ draw_china_area(points,color) } }) }) add_china_clickHandler() viewer.zoomTo(viewer.entities); }else{ china.forEach( provinces => { if($.inArray(provinces.properties.name , provincesNames) != -1){ var province = provinces.geometry var areas = province.coordinates viewer.entities.add({ id: 'province_name='+provinces.properties.name, position : Cesium.Cartesian3.fromDegrees(provinces.properties.cp[0], provinces.properties.cp[1]), label : { text : provinces.properties.name, font : '18px Helvetica', fillColor : Cesium.Color.WHITE, } }); areas.forEach( (points) => { if(points[0][0] instanceof Array){ points.forEach(point=>{ draw_china_area(point) }) }else{ draw_china_area(points) } }) } }) add_area_clickHandler() viewer.zoomTo(viewer.entities); } }
|