string[] strs=File.ReadAllLines(filename); for(int i=0;i<strs.Length;i++) { label.text =label.text+strs[i]+"\n"; }
❷ 就像阿里雲地圖中可以選擇范圍然後下載下來的.json文件,全國七大流域分布圖文件怎麼獲取
可以通過以下方式獲取全國七大流域的分布數據:
1. 天地圖開放數據平台提供流域范圍數據下載。在平台中頌悶搜索「流域」或者「七大流域」,可以找到對應的shp、geojson等文件下載。這些數據文件中包含七大流域的范圍與面積屬性數據。
2. 高德開放平台也提供詳細的流域信中數據。在平台數據市場中搜索「中國七大流域范圍數據」,可以下載到七大流域的矢量地圖數據,其中包括流域邊界、流域編碼、流域名稱等數據。
3. 數據開放組織(Datashare)上也提供全國水系與流域數據下載。野坦彎其中就包括七大流域范圍與屬性的geojson數據文件,用戶可以自行下載使用。
4. 部分省測繪地理信息中心也會發布流域數據包。例如,山東省和河南省測繪地理信息中心就提供了黃河、海河流域范圍的Detail數據下載。這些數據中也包含七大流域范圍信息。
5. 針對性爬取並解析政府部門或科研機構發布的七大流域分布圖,提取其中的地理要素,並構建成geojson或shp格式的數據。這需要具備一定的網頁爬取、數據分析與制圖能力,步驟會相對復雜。
綜上,獲取七大流域分布數據的主要方式是利用開放平台已有的數據包直接下載,或者通過爬蟲與解析的方式自行構建數據。二者各有優勢,可以根據實際需求選擇使用。關鍵是找到全面且精細的七大流域分布數據,我希望以上信息對您有所幫助。
❸ echarts如何實現點擊地圖某個區域,某個區域放大,望貼出代碼。
網頁鏈接這個上面寫的 不知是不是你要的效果。供參考
import echarts from 'echarts/lib/echarts';
import 'echarts/lib/chart/map';
/*geojson文件很大,生產環境中,應該放在public文件夾中,並非同步載入*/
import { geoJson } from './regionJsonXc';
import { sqJson } from './regionJsonXc';
let defaultBlue = '#25ade6';
let darkBlue = '#186396'; //詳細地圖,線條顏色暗一些
// 配置option,一定要查看echarts官方配置文檔
let option = {
// 地圖配置
geo: {
show: true,
map: 'XC',
label: {
normal: {
show: true,
color: '#ccc',
fontSize: 14,
},
emphasis: {
show: true,
color: '#fff'
}
},
roam: true, // 滾輪滾動--放大或縮小
itemStyle: {
normal: {
label: {
show: true,
color: '#fff',
fontSize: 14,
},
areaColor: 'rgba(24,99,150,0.05)',
borderColor: #186396,
shadowColor: #186396,
shadowBlur: 10,
},
emphasis: {
label: {
show: false,
color: '#fff',
shadowColor: '#25ade6',
shadowBlur: 10,
},
areaColor: 'rgba(24,99,150,0.5)',
},
},
zoom: 1
},
series: []
};
let myChart = null;
class XcMap extends Component {
state = {
option: option,
detail: false, // 是否使用詳細地圖
curMap:geoJson,
}
componentDidMount() {
this.draw(geoJson);
}
drawMap = (json) => {
const { option } = this.state;
let echartElement = document.getElementById('xc-map');
myChart = echarts.init(echartElement);
echarts.registerMap('XC', json);
myChart.setOption(option, true);
myChart.on('georoam', this.onDatazoom); // 縮放監聽事件
}
/*
獲取zoom和center
zoom:地圖縮放值,
center:中心位置,地圖拖動之後會改變
*/
getZoom = () => {
if(myChart){
let { zoom, center } = myChart.getOption().geo[0];
return { zoom, center }
}
return;
}
/*
保存縮放值和中心位置,
*/
saveZoom = () => {
let { zoom, center } = this.getZoom();
const { option } = this.state;
option.geo.zoom = zoom;
option.geo.center = center;
this.setState({option});
}
/**
* 地圖縮小/放大
*/
onDatazoom = () => {
const { detail, option } = this.state;
const { zoom } = this.getZoom();
const threshold = 1.7;
this.saveZoom(); // 地圖縮放後,將縮放值和center保存在狀態中
if (zoom >= threshold && !detail) {
// 切換詳細地圖
option.geo.itemStyle.normal.borderColor = darkBlue;
option.geo.itemStyle.normal.shadowColor = darkBlue;
this.setState({
detail:true,
option,
curMap:sqJson
});
this.drawMap(sqJson);
} else if (detail && zoom < threshold) {
// 切換默認地圖
option.geo.itemStyle.normal.borderColor = defaultBlue;
option.geo.itemStyle.normal.shadowColor = defaultBlue;
this.setState({
detail:false,
option,
curMap:geoJson
});
this.drawMap(geoJson);
}
}
render() {
const { position } = this.state;
return (<div>
<div id="xc-map" className={styles.map}></div>
</div>);
}
}
export default XcMap;