123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- <!--********************************************************************
- * Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
- *********************************************************************-->
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title data-i18n="resources.title_mapvQianxiTime"></title>
- <script type="text/javascript" include="jquery" src="../js/include-web.js"></script>
- </head>
- <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
- <div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
- <script type="text/javascript" include="mapv" src="../../dist/leaflet/include-leaflet.js"></script>
- <script type="text/javascript">
- var map = L.map('map', {
- center: [36.64, 108.15],
- zoom: 4,
- });
- var host = window.isLocal ? window.server : "https://iserver.supermap.io";
- var url = host + "/iserver/services/map-china400/rest/maps/ChinaDark";
- L.supermap.tiledMapLayer(url).addTo(map);
- loadData();
- //示例数据来源为百度MapV的加偏数据,iClient未做纠偏处理
- function loadData() {
- var data = [];
- var timeData = [];
- function curive(fromPoint, endPoint, n) {
- var delLng = (endPoint.lng - fromPoint.lng) / n;
- var delLat = (endPoint.lat - fromPoint.lat) / n;
- for (var i = 0; i < n; i++) {
- var pointNLng = fromPoint.lng + delLng * i;
- var pointNLat = fromPoint.lat + delLat * i;
- timeData.push({
- geometry: {
- type: 'Point',
- coordinates: [pointNLng, pointNLat]
- },
- count: 1,
- time: i
- });
- }
- }
- // 构造数据
- $.ajax({
- url: '../data/qianxi-time',
- success: function (rs) {
- var items = rs.split('|');
- for (var i = 0; i < items.length; i++) {
- var itemArr = items[i].split(/\n/);
- for (var k = 0; k < itemArr.length; k++) {
- if (!!itemArr[k]) {
- var item = itemArr[k].split(/\t/);
- if (item[0] === '起点城市' || item[0] === '迁出城市') {
- var cityBegin = item[1];
- }
- if (item[0] !== '起点城市' || item[0] !== '迁出城市' && item.length > 1) {
- var cityCenter1 = mapv.utilCityCenter.getCenterByCityName(item[0].replace(/市|省/, ""));
- var cityCenter2 = mapv.utilCityCenter.getCenterByCityName(cityBegin.replace(/市|省/, "").trim());
- if (cityCenter1) {
- if (Math.random() > 0.7) {
- curive(cityCenter2, cityCenter1, 50);
- }
- data.push({
- geometry: {
- type: 'LineString',
- coordinates: [[cityCenter1.lng, cityCenter1.lat], [cityCenter2.lng, cityCenter2.lat]]
- },
- count: 100 * Math.random()
- });
- }
- }
- }
- }
- }
- var dataSet1 = new mapv.DataSet(data);
- var options1 = {
- strokeStyle: 'rgba(55, 50, 250, 0.3)',
- globalCompositeOperation: 'lighter',
- shadowColor: 'rgba(55, 50, 250, 0.5)',
- methods: {
- click: function (item) {
- }
- },
- gradient: {0: 'rgba(55, 50, 250, 0)', 1: 'rgba(55, 50, 250, 1)'},
- lineWidth: .2,
- draw: 'intensity'
- };
- //线图层
- var dataAttr = resources.text_dataSources + "<a target='_blank' href='https://mapv.baidu.com/examples/qianxi-time.html'>MapV</a>";
- L.supermap.mapVLayer(dataSet1, options1, {attributionPrefix: dataAttr, attribution: ""}).addTo(map);
- var dataSet2 = new mapv.DataSet(timeData);
- var options2 = {
- fillStyle: 'rgba(255, 250, 250, 0.9)',
- size: .5,
- animation: {
- type: 'time',
- stepsRange: {
- start: 0,
- end: 50
- },
- trails: 1,
- duration: 5,
- },
- draw: 'simple'
- };
- //动画图层
- L.supermap.mapVLayer(dataSet2, options2).addTo(map);
- setTimeout(function () {
- map.openPopup(resources.text_iClient, map.getCenter());
- }, 1000)
- }
- });
- }
- </script>
- </body>
- </html>
|