| | |
| | | |
| | | }); |
| | | window.onload = function () { |
| | | console.log(window.onload); // 打印数组数据 |
| | | //加载坐标点 |
| | | window.Android.loadMarker(); |
| | | }; |
| | | // 初始化地图 |
| | | function initMap() { |
| | | // 影像底图 |
| | | var imageURL = "http://t0.tianditu.gov.cn/img_w/wmts?" + |
| | | "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" + |
| | | "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=d8beed89b43160a9a185e5aff431f85d"; |
| | | //创建自定义图层对象 |
| | | var lay = new T.TileLayer(imageURL, { minZoom: 1, maxZoom: 18 }); |
| | | var config = { layers: [lay] }; |
| | | //影像注记(地图上的地址) |
| | | var imgURL2 = "http://t0.tianditu.gov.cn/cia_w/wmts?" + "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" + |
| | | "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}" + |
| | | "&tk=d8beed89b43160a9a185e5aff431f85d"; |
| | | var lay = new T.TileLayer(imageURL, { minZoom: 6, maxZoom: 18 }); |
| | | var lay2 = new T.TileLayer(imgURL2, { minZoom: 6, maxZoom: 18 }); |
| | | var config = { layers: [lay, lay2] }; |
| | | map = new T.Map("mapDiv", config); |
| | | var scale = new T.Control.Scale(); |
| | | //添加比例尺控件 |
| | |
| | | // 地图点击后获取经纬度 |
| | | function getLngLat(lnglat) { |
| | | console.log(lnglat.lng.toFixed(6) + "," + lnglat.lat.toFixed(6)); |
| | | addClickOverLay(lnglat); |
| | | // addClickOverLay(lnglat); |
| | | } |
| | | |
| | | // 点击后添加坐标点 |
| | |
| | | // 手机获取到定位后显示定位 |
| | | function locationOverLay(lng, lag) { |
| | | console.log("function》》》》》locationOverLay"); |
| | | map.centerAndZoom(new T.LngLat(lng, lag), 18); |
| | | map.centerAndZoom(new T.LngLat(lng, lag), map.getZoom()); |
| | | |
| | | let icon = new T.Icon({ |
| | | iconUrl: locationIMGPath, |
| | | iconSize: new T.Point(27, 27), |
| | | iconAnchor: new T.Point(10, 25) |
| | | }); |
| | | |
| | | let marker = new T.Marker(new T.LngLat(lng, lag), { icon: icon }); |
| | | map.addOverLay(marker); |
| | | } |
| | | |
| | | |
| | | //设置地图中心点 |
| | | function setCenterAndZoom(lng, lat) { |
| | | function setCenterAndZoom(lng, lat, thiszoom) { |
| | | zoom = thiszoom; |
| | | console.log("function》》》》》setCenterAndZoom>>>>lng:" + lng + ",lat:" + lat); |
| | | map.centerAndZoom(new T.LngLat(lng, lat), zoom); |
| | | } |
| | |
| | | window.showToast = showToast; |
| | | window.addMarker = addMarker; |
| | | window.setCenterAndZoom = setCenterAndZoom; |
| | | window.updateLocation = updateLocation; |
| | | window.aginShowLocation = aginShowLocation; |
| | | window.cleanLocationLay = cleanLocationLay; |
| | | window.updateInspectionLocation=updateInspectionLocation; |
| | | window.cleanLoclLay=cleanLoclLay; |
| | | |
| | | } |
| | | |
| | | // 调用原生安卓方法显示取水口详情 |
| | |
| | | }); |
| | | return "addMarker加载成功" |
| | | } |
| | | //更新定位坐标 |
| | | function updateLocation(log, lat) { |
| | | let icon = new T.Icon({ |
| | | iconUrl: locationIMGPath, |
| | | iconSize: new T.Point(20, 20), |
| | | iconAnchor: new T.Point(10, 10) |
| | | }); |
| | | if (locationMarker) { |
| | | map.removeOverLay(locationMarker); |
| | | } |
| | | var newPoint = new T.LngLat(log, lat); |
| | | locationMarker = new T.Marker(newPoint, { icon: icon }); |
| | | map.addOverLay(locationMarker); |
| | | map.panTo(newPoint); |
| | | } |
| | | //保存定位坐标生成轨迹 |
| | | var path = []; |
| | | var lineLayer = new T.Polyline([], { color: '#ff4500', weight: 3, opacity: 0.8 }); |
| | | let locationMarker; |
| | | function updateInspectionLocation(log, lat) { |
| | | var lastLat = lat; |
| | | // const intervalId = setInterval(() => { |
| | | // lastLat=lastLat+0.0001; |
| | | var newPoint = new T.LngLat(log, lastLat); |
| | | path.push(newPoint); |
| | | lineLayer.setLngLats(path); |
| | | map.addOverLay(lineLayer); |
| | | // 移动地图视角到最后一个位置 |
| | | |
| | | // }, 500); |
| | | } |
| | | |
| | | var aginPath = []; |
| | | var oldLineLayer = new T.Polyline([], { color: '#ff4500', weight: 3, opacity: 0.8 }); |
| | | //显示因异常关闭的巡检记录 |
| | | function aginShowLocation(lng, lat) { |
| | | // 调用 Android 提供的接口,获取数据 |
| | | console.log("aginShowLocation>>lng:" + lng + ">>>lat:" + lat); |
| | | var newPoint = new T.LngLat(lng, lat); |
| | | aginPath.push(newPoint); |
| | | oldLineLayer.setLngLats(aginPath); |
| | | map.addOverLay(oldLineLayer); |
| | | } |
| | | //清除巡检记录轨迹 |
| | | function cleanLocationLay() { |
| | | if (lineLayer) { |
| | | map.removeOverLay(lineLayer); |
| | | path=[] |
| | | } |
| | | if (locationMarker) { |
| | | map.removeOverLay(locationMarker); |
| | | } |
| | | if (oldLineLayer) { |
| | | aginPath=[] |
| | | map.removeOverLay(oldLineLayer); |
| | | } |
| | | } |
| | | //清除本地定位坐标位置 |
| | | function cleanLoclLay(){ |
| | | if (locationMarker) { |
| | | map.removeOverLay(locationMarker); |
| | | } |
| | | } |
| | | |
| | | |
| | | })(); |