Commit 040aea98 by wanghao

同步代码 v3.5.8

parent 19d62351
/**
* Mars3D三维可视化平台 mars3d
*
* 版本信息:v3.5.7
* 编译日期:2023-05-16 21:11:36
* 版本信息:v3.5.8
* 编译日期:2023-05-23 19:43:13
* 版权所有:Copyright by 火星科技 http://mars3d.cn
* 使用单位:免费公开版 ,2023-03-17
*/
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -6,26 +6,59 @@ import _ from "lodash"
import reactIcon from "./reactIcon.svg"
import "@mars/assets/style/index.less"
function getAllName(packageName, examples_list) {
let arrNew = packageName + "功能清单:"
const qianzhui = "1."
examples_list.forEach((item, index1) => {
if (!item.children) {
function getStandardName(item) {
let name = item.name
if (name.indexOf("Demo") !== -1) {
return false
}
const idx = name.indexOf("(")
if (idx !== -1) {
name = name.substr(0, idx)
}
return name
}
function getAllName(examples_list) {
let arrNew = "Mars3D功能清单:"
const qianzhui = "N"
let index1 = 0
const cacheNames = {}
examples_list.forEach((item) => {
if (!item.children || item.download === false) {
return
}
arrNew += `\n\n${qianzhui}${index1 + 1} ${item.name}`
arrNew += `\n\n${qianzhui}${++index1} ${item.name}`
item.children.forEach((item2, index2) => {
if (!item2.children) {
let index2 = 0
item.children.forEach((item2) => {
if (!item2.children || item2.download === false) {
return
}
arrNew += `\n${qianzhui}${index1 + 1}.${index2 + 1} ${item2.name}\n`
arrNew += `\n${qianzhui}${index1}.${++index2} ${item2.name}\n`
item2.children.forEach((item3, index3) => {
if (index3 === 0) {
arrNew += `\t${item3.name}`
let index3 = 0
item2.children.forEach((item3) => {
if (item3.download === false || item3.hidden) {
return
}
const name = getStandardName(item3)
if (!name) {
return
}
if (cacheNames[name]) {
// console.log("已存在", name)
return
}
cacheNames[name] = true
++index3
if (index3 === 1) {
arrNew += `\t${name}`
} else {
arrNew += `,${item3.name}`
arrNew += `,${name}`
}
})
arrNew += "\n"
......@@ -35,19 +68,32 @@ function getAllName(packageName, examples_list) {
}
function getVerDiff(examples_list) {
let arrNew = "序号,分类,子分类,功能名称,示例ID\n"
let index = 0
let arrNew = "序号,分类,子分类,功能名称,更新时间\n"
const cacheNames = {}
examples_list.forEach((item) => {
if (!item.children) {
if (!item.children || item.download === false) {
return
}
item.children.forEach((item2) => {
if (!item2.children) {
if (!item2.children || item2.download === false) {
return
}
item2.children.forEach((item3) => {
arrNew += `${++index},${item.name},${item2.name},${item3.name},${item3.date}\n`
if (item3.download === false || item3.hidden) {
return
}
const name = getStandardName(item3)
if (!name) {
return
}
if (cacheNames[name]) {
// console.log("已存在", name)
return
}
cacheNames[name] = true
arrNew += `${++index},${item.name},${item2.name},${name},${item3.main}\n`
})
})
})
......@@ -171,7 +217,7 @@ function MarsExampleList({ exampleList, jump, packageName, totalCount }) {
<div className="download">
<div>【共 {totalCount} 个示例】</div>
<div>
<p onClick={() => downloadFile(packageName + "功能清单.txt", getAllName(packageName, exampleList))}>下载功能清单.txt</p>
<p onClick={() => downloadFile(packageName + "功能清单.txt", getAllName(exampleList))}>下载功能清单.txt</p>
</div>
<div>
<p onClick={() => downloadFile(packageName + "功能清单.csv", getVerDiff(exampleList))}>下载功能清单.csv</p>
......
......@@ -27,21 +27,21 @@ export function onMounted(mapInstance) {
// template: function (locationData) {
// let pitch
// if (locationData.pitch < 0) {
// pitch = '俯视:' + -locationData.pitch
// pitch = "俯视:" + -locationData.pitch
// } else {
// pitch = '仰视:' + locationData.pitch
// pitch = "仰视:" + locationData.pitch
// }
// let dfmX = mars3d.Util.formatDegree(locationData.lng)
// let dfmY = mars3d.Util.formatDegree(locationData.lat)
// const dfmX = mars3d.PointTrans.degree2dms(locationData.lng).str
// const dfmY = mars3d.PointTrans.degree2dms(locationData.lat).str
// return ` <div>经度:${locationData.lat} , ${dfmX}</div>
// <div>纬度:${locationData.lng} , ${dfmY}</div>
// return ` <div>经度:${locationData.lat} , ${dfmY}</div>
// <div>纬度:${locationData.lng} , ${dfmX}</div>
// <div>海拔:${locationData.alt}米</div>
// <div>方向:${locationData.heading}度</div>
// <div>${pitch}度</div>
// <div>视高:${locationData.cameraHeight}米</div>`
// },
// }
})
map.addControl(locationBar)
}
......
......@@ -50,6 +50,9 @@ export function onMounted(mapInstance) {
})
map.addControl(mapSplit)
window.mapSplit = mapSplit // only for test
// 加载模型图层 [也支持setLayerSplitDirection方法来设置图层]
// const tiles3dLayer = new mars3d.layer.TilesetLayer({
// url: "//data.mars3d.cn/3dtiles/qx-dyt/tileset.json",
......
......@@ -145,7 +145,7 @@ function getTerrainProviderViewModelsArr() {
tooltip: "由 Cesium官方 提供的高分辨率全球地形",
iconUrl: "img/basemaps/TerrainSTK.png",
creationFunction: function () {
return Cesium.createWorldTerrain({
return Cesium.createWorldTerrainAsync({
requestWaterMask: true,
requestVertexNormals: true
})
......
......@@ -5,7 +5,7 @@ class Geolocation extends mars3d.control.ToolButton {
/**
* 创建_container控件容器对象的方法,
* 只会调用一次
* @return {void} 无
* @return {Promise<object>} 无
* @private
*/
_mountedHook() {
......
......@@ -7,7 +7,7 @@ class PoiQueryButton extends mars3d.control.BaseControl {
/**
* 创建_container控件容器对象的方法,
* 只会调用一次
* @return {void} 无
* @return {Promise<object>} 无
* @private
*/
_mountedHook() {
......
......@@ -22,7 +22,6 @@ export function onMounted(mapInstance) {
globalNotify("已知问题提示", `(1) 当在180度经线或南北极时,存在渲染错乱问题。`)
// 创建矢量数据图层
graphicLayer = new mars3d.layer.GraphicLayer()
map.addLayer(graphicLayer)
......@@ -43,6 +42,9 @@ export function onMounted(mapInstance) {
addDemoGraphic6(graphicLayer)
addDemoGraphic7(graphicLayer)
addDemoGraphic8(graphicLayer)
addDemoGraphic9(graphicLayer)
addDemoGraphic10(graphicLayer)
addDemoGraphic11(graphicLayer)
}
/**
......@@ -57,7 +59,7 @@ function addDemoGraphic1(graphicLayer) {
const graphic = new mars3d.graphic.StraightArrow({
positions: [
[117.76314, 30.671648, 440.5],
[117.885026, 32.030943, -648.1]
[117.885026, 32.030943, 440.5]
],
style: {
color: "#ff0000",
......@@ -76,7 +78,7 @@ function addDemoGraphic2(graphicLayer) {
const graphic = new mars3d.graphic.FineArrow({
positions: [
[118.351476, 30.646825, 286.6],
[118.419077, 32.05059, -493.2]
[118.419077, 32.05059, 286.6]
],
style: {
color: "#ff0000",
......@@ -95,7 +97,7 @@ function addDemoGraphic3(graphicLayer) {
const graphic = new mars3d.graphic.FineArrowYW({
positions: [
[119.527562, 30.549996, 481.3],
[119.645216, 31.987335, -449.9]
[119.645216, 31.987335, 481.3]
],
style: {
color: "#ff0000",
......@@ -113,10 +115,10 @@ function addDemoGraphic3(graphicLayer) {
function addDemoGraphic4(graphicLayer) {
const graphic = new mars3d.graphic.AttackArrow({
positions: [
[119.162167, 30.627124, 21.7],
[119.162167, 30.627124, 206.6],
[118.734841, 30.661996, 206.6],
[119.136736, 31.175837, -505.6],
[119.001217, 32.015687, -633.3]
[119.136736, 31.175837, 206.6],
[119.001217, 32.015687, 206.6]
],
style: {
color: "#ff0000",
......@@ -134,10 +136,10 @@ function addDemoGraphic4(graphicLayer) {
function addDemoGraphic5(graphicLayer) {
const graphic = new mars3d.graphic.AttackArrowYW({
positions: [
[120.472593, 30.475435, -245.4],
[120.472593, 30.475435, 1429.5],
[120.859927, 30.410491, 1429.5],
[120.874151, 31.09718, -239.4],
[120.709928, 31.883932, -597.5]
[120.874151, 31.09718, 1429.5],
[120.709928, 31.883932, 1429.5]
],
style: {
materialType: mars3d.MaterialType.PolyGradient,
......@@ -155,9 +157,9 @@ function addDemoGraphic5(graphicLayer) {
function addDemoGraphic6(graphicLayer) {
const graphic = new mars3d.graphic.AttackArrowPW({
positions: [
[120.159212, 30.51614, -81.9],
[120.073352, 31.163911, -557.6],
[120.248902, 31.922699, -738.8]
[120.159212, 30.51614, 0],
[120.073352, 31.163911, 0],
[120.248902, 31.922699, 0]
],
style: {
color: "#ff0000",
......@@ -197,9 +199,9 @@ function addDemoGraphic7(graphicLayer) {
function addDemoGraphic8(graphicLayer) {
const graphic = new mars3d.graphic.GatheringPlace({
positions: [
[116.76866, 31.79288, -267.2],
[117.336959, 31.678728, -952.4],
[117.363407, 32.203935, -607.7]
[116.76866, 31.79288, 0],
[117.336959, 31.678728, 0],
[117.363407, 32.203935, 0]
],
style: {
materialType: mars3d.MaterialType.PolyGradient,
......@@ -217,6 +219,63 @@ function addDemoGraphic8(graphicLayer) {
graphicLayer.addGraphic(graphic)
}
// 该方法演示 自定义点状军标(png或svg图片即可),复杂的也可以Canvas绘制,参考 graphic\entity\billboard-canvas\CanvasBillboard.js
function addDemoGraphic9(graphicLayer) {
const graphic = new mars3d.graphic.BillboardEntity({
position: [116.699972, 29.004322],
style: {
image: "img/marker/80800.png",
width: 100,
height: 100,
horizontalOrigin: Cesium.HorizontalOrigin.LEFT, // 横向的定位点,LEFT左侧
verticalOrigin: Cesium.VerticalOrigin.BOTTOM // 竖向的定位点,BOTTOM底部
},
attr: { remark: "示例9 - 自定义点状军标" }
})
graphicLayer.addGraphic(graphic) // 还可以另外一种写法: graphic.addTo(graphicLayer)
}
// 该方法演示 自定义线状军标(定义在 CurveEntity.js 中) ,可以参考自行扩展算法实现相关标号
function addDemoGraphic10(graphicLayer) {
// eslint-disable-next-line no-undef
const graphic = new CurveEntity({
positions: [
[118.901633, 29.84308, 423.4],
[118.030482, 29.323071, 214.3],
[118.935367, 28.88123, 208.9],
[117.973442, 28.441806, 223.9]
],
style: {
color: "#0000ff",
opacity: 0.6,
width: 4
},
attr: { remark: "示例10 - 自定义线状军标" }
})
graphicLayer.addGraphic(graphic)
}
// 该方法演示 自定义面状军标(定义在 CloseVurveEntity.js 中) ,可以参考自行扩展算法实现相关标号
function addDemoGraphic11(graphicLayer) {
// eslint-disable-next-line no-undef
const graphic = new CloseVurveEntity({
positions: [
[120.2849, 29.773135, 26.8],
[119.26029, 28.767787, 297.3],
[120.904109, 28.756734, 698.9]
],
style: {
color: "#0000ff",
opacity: 0.6,
outline: true,
outlineWidth: 3,
outlineColor: "#ffffff"
},
attr: { remark: "示例11 - 自定义面状军标" }
})
graphicLayer.addGraphic(graphic)
}
// 生成演示数据(测试数据量)
export function addRandomGraphicByCount(count) {
graphicLayer.clear()
......
......@@ -18,7 +18,7 @@ class CanvasBillboard extends mars3d.graphic.BillboardPrimitive {
/**
* 对象添加到图层前创建一些对象的钩子方法,
* 只会调用一次
* @return {void} 无
* @return {Promise<object>} 无
* @private
*/
_mountedHook() {
......
......@@ -8,7 +8,7 @@ class FloorGraphic extends mars3d.graphic.BasePointEntity {
/**
* 对象添加到图层前创建一些对象的钩子方法,
* 只会调用一次
* @return {void} 无
* @return {Promise<object>} 无
* @private
*/
_mountedHook() {
......
......@@ -176,6 +176,7 @@ function addDemoGraphic2(graphicLayer) {
// 手动按需启动动画
graphic.on(mars3d.EventType.load, function (event) {
console.log("风机 模型加载完成", event)
const model = event.model
// 参考API: http://mars3d.cn/api/cesium/ModelAnimationCollection.html
......
......@@ -20,6 +20,7 @@ export const mapOptions = {
timeline: true, // 是否显示时间线控件
compass: { top: "10px", left: "5px" }
},
terrain: false,
layers: [
{
name: "夜晚图片",
......
......@@ -24,6 +24,7 @@ export const mapOptions = {
timeline: true, // 是否显示时间线控件
compass: { top: "10px", left: "5px" }
},
terrain: false,
layers: [
{
name: "夜晚图片",
......
......@@ -15,12 +15,13 @@ const converter = Cesium.Transforms.eastNorthUpToFixedFrame
export const mapOptions = {
scene: {
center: { lat: 0.072832, lng: 151.409367, alt: 29330818, heading: 10, pitch: -90 },
globe: { enableLighting: true }
},
cameraController: {
maximumZoomDistance: 9000000000,
constrainedAxis: false // 解除在南北极区域鼠标操作限制
globe: { enableLighting: true },
cameraController: {
maximumZoomDistance: 9000000000,
constrainedAxis: false // 解除在南北极区域鼠标操作限制
}
},
terrain: false,
layers: [
{
name: "夜晚图片",
......
......@@ -49,6 +49,10 @@ export function showNewYorkDemo() {
i3sLayer = new mars3d.layer.I3SLayer({
name: "New York",
url: "https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/NYC_Attributed_v17/SceneServer",
geoidTiledTerrainProvider: {
url: "https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/EGM2008/ImageServer"
},
traceFetches: false, // for tracing I3S fetches
skipLevelOfDetail: false,
debugShowBoundingVolume: false,
center: { lat: 40.710975, lng: -74.023923, alt: 768.9, heading: 93.3, pitch: -23.3 },
......@@ -73,6 +77,9 @@ export function showSanFranciscoDemo() {
i3sLayer = new mars3d.layer.I3SLayer({
name: "旧金山",
url: "https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/SanFrancisco_3DObjects_1_7/SceneServer/layers/0",
// geoidTiledTerrainProvider: {
// url: "https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/EGM2008/ImageServer"
// },
skipLevelOfDetail: false,
debugShowBoundingVolume: false,
flyTo: true
......
......@@ -7,6 +7,10 @@ let canvasWindLayer
export const mapOptions = {
scene: {
center: { lat: 24.677182, lng: 107.044123, alt: 20407002, heading: 0, pitch: -90 }
// mapMode2D: Cesium.MapMode2D.ROTATE,
// cameraController: {
// maximumZoomDistance: 5000000000
// }
}
}
......@@ -21,6 +25,8 @@ export function onMounted(mapInstance) {
map.basemap = 2017 // 蓝色底图
map.hasTerrain = false
// 风场
canvasWindLayer = new mars3d.layer.CanvasWindLayer({
worker: window.currentPath + "windWorker.js", // 启用多线程模式,注释后是单线程模式(非必须)
......
......@@ -15,6 +15,10 @@ export const mapOptions = {
type: "xyz",
url: "http://t3.tianditu.gov.cn/img_c/wmts?service=WMTS&version=1.0.0&request=GetTile&tilematrix={z}&layer=img&style=default&tilerow={y}&tilecol={x}&tilematrixset=c&format=tiles&tk=6c99c7793f41fccc4bd595b03711913e",
crs: "EPSG:4490", // 标识坐标系
// queryParameters: {
// // 可以传自定义url参数,如token等
// token: "mars3d"
// },
show: true
}
],
......@@ -23,16 +27,11 @@ export const mapOptions = {
name: "山东电子",
icon: "img/basemaps/google_vec.png",
type: "xyz",
url: "http://www.sdmap.gov.cn/tileservice/SDPubMap?layer=SDPubMap&style=default&tilematrixset=default028mm&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fpng&TileMatrix={z}&TileCol={x}&TileRow={y}",
url: "http://service1.sdmap.gov.cn/tileservice/sdpubmap?layer=SDPubMap&style=default&tilematrixset=default028mm&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image/png&TileMatrix={z}&TileCol={x}&TileRow={y}&tk=2ec5b748cca9b24b6474d6857deec02e",
crs: "EPSG:4490",
rectangle: { xmin: 114.3, xmax: 123.2, ymin: 34.165, ymax: 38.626 },
minimumLevel: 5,
rectangle: { xmin: 114.229839088925, xmax: 123.400530149205, ymin: 33.9389305555556, ymax: 38.9048194444444 },
minimumLevel: 7,
maximumLevel: 18,
alpha: 1,
queryParameters: {
// 可以传自定义url参数,如token等
token: "mars3d"
},
show: true
}
// {
......
......@@ -54,7 +54,7 @@ export const eventTarget = new mars3d.BaseClass() // 事件对象,用于抛出
export function onMounted(mapInstance) {
map = mapInstance // 记录map
globalNotify("已知问题提示", `目前国家国家测绘主管部门对未经审核批准的谷歌等地图做了屏蔽封锁,目前谷歌地图服务暂不可用,需翻墙使用。`)
// globalNotify("已知问题提示", `目前国家国家测绘主管部门对未经审核批准的谷歌等地图做了屏蔽封锁,目前谷歌地图服务暂不可用,需翻墙使用。`)
}
/**
......
......@@ -6,7 +6,14 @@ export let map // mars3d.Map三维地图对象
export const mapOptions = {
scene: {
center: { lat: 21.373802, lng: 105.112505, alt: 12964001, heading: 2, pitch: -85 },
highDynamicRange: false
highDynamicRange: false,
globe: {
enableLighting: true
}
},
terrain: false,
control: {
terrainProviderViewModels: []
},
// 方式1:在创建地球前的参数中配置
basemaps: [
......
......@@ -112,16 +112,17 @@ export function addTileLayer() {
// 单击事件
tileLayer.on(mars3d.EventType.loadConfig, function (event) {
console.log("加载了GetCapabilities", event)
setTimeout(() => {
map.mouseEvent.pickImageryLayerFeatures([117.169993, 31.842132, 214.6]).then((result) => {
console.log("手动模拟了单击,返回了:", result)
})
}, 6000)
})
tileLayer.on(mars3d.EventType.click, function (event) {
console.log("单击了矢量数据,共" + event.features.length + "条", event)
})
setTimeout(() => {
map.mouseEvent.pickImageryLayerFeatures([117.169993, 31.842132, 214.6]).then((result) => {
console.log("手动模拟了单击,返回了:", result)
})
}, 6000)
}
export function addTileLayer2() {
......
......@@ -73,6 +73,26 @@ function UIComponent() {
</MarsButton>
</Space>
</MarsFormItem>
<MarsFormItem label="阴影分析">
<Space>
<MarsButton
onClick={() => {
console.log("---", currDate)
mapWork.drawArea(currDate)
}}
>
绘制
</MarsButton>
<MarsButton
onClick={() => {
mapWork.clearArea()
}}
>
清除
</MarsButton>
</Space>
</MarsFormItem>
</MarsPannel>
</>
)
......
......@@ -32,6 +32,34 @@ function UIComponent() {
change(data) {
mapWork.rangeNormalZ(data)
}
},
{
type: "slider",
field: "rotationAngle1",
label: "旋转角度1:",
step: 0.1,
min: 0,
max: 360,
value: 0,
extra: "当前值{rotationAngle1}",
extraWidth: 80,
change(data) {
mapWork.rangeAngle1(data)
}
},
{
type: "slider",
field: "rotationAngle2",
label: "旋转角度2:",
step: 0.1,
min: 0,
max: 180,
value: 0,
extra: "当前值{rotationAngle2}",
extraWidth: 80,
change(data) {
mapWork.rangeAngle2(data)
}
}
]
......
......@@ -5,14 +5,24 @@ import * as mapWork from "./map.js"
function UIComponent() {
const [PolygonNumber, setPolygonNumber] = useState(10)
const [PolylineNumber, setPolylineNumber] = useState(100)
const [inputNumberPolygonDepth, setInputNumberPolygonDepth] = useState(100)
const [inputNumberPolygon, setInputNumberPolygon] = useState(100)
const [inputNumberPolyline, setInputNumberPolyline] = useState(100)
const [inputNumberPolylineDepth, setInputNumberPolylineDepth] = useState(100)
return (
<MarsPannel visible={true} right="10" top="10">
<p className="f-mb" style={{ color: "#cad1d1", fontSize: "12px" }}>
提示:插值数大时分析略慢,请耐心等待。
<p className="f-mb " style={{ color: "#cad1d1", fontSize: "12px" }}>
<MarsButton
onClick={() => {
mapWork.removeAll()
}}
>
清除
</MarsButton>
<span style={{ marginLeft: "5px" }}>提示:插值数大时分析略慢,请耐心等待。</span>
</p>
<MarsFormItem label="插值数">
<MarsFormItem label="插值数">
<Space>
<MarsInputNumber
value={PolygonNumber}
......@@ -27,40 +37,98 @@ function UIComponent() {
>
面插值
</MarsButton>
</Space>
</MarsFormItem>
<MarsFormItem label="面插值数">
<Space>
<MarsInputNumber
value={inputNumberPolygonDepth}
onChange={(data: number) => {
setInputNumberPolygonDepth(data)
}}
></MarsInputNumber>
<MarsButton
onClick={() => {
mapWork.removeAll()
mapWork.interPolygonByDepth(inputNumberPolygonDepth)
}}
>
清除
面插值(离屏渲染方式)
</MarsButton>
{/* <MarsButton
onClick={() => {
mapWork.interLine(PolylineNumber)
}}
>
线插值(高度等分)
</MarsButton> */}
</Space>
</MarsFormItem>
<MarsFormItem label="面内插点">
<Space>
<MarsInputNumber
value={inputNumberPolygon}
onChange={(data: number) => {
setInputNumberPolygon(data)
}}
></MarsInputNumber>
<MarsButton
onClick={() => {
mapWork.interPolygonGrid(inputNumberPolygon)
}}
>
面插点
</MarsButton>
</Space>
</MarsFormItem>
<MarsFormItem label="插值数">
<MarsFormItem label="线插值数">
<Space>
<MarsInputNumber
value={PolylineNumber}
value={inputNumberPolyline}
onChange={(data: number) => {
setPolylineNumber(data)
setInputNumberPolyline(data)
}}
></MarsInputNumber>
<MarsButton
onClick={() => {
mapWork.interPolyline(PolylineNumber)
mapWork.interPolyline(inputNumberPolyline)
}}
>
线插值
线插值
</MarsButton>
<MarsButton
onClick={() => {
mapWork.interLine(PolylineNumber)
mapWork.interLine(inputNumberPolyline)
}}
>
线插值(高度等分)
线插值(高度等分)
</MarsButton>
</Space>
</MarsFormItem>
<MarsFormItem label="线插值数">
<Space>
<MarsInputNumber
value={inputNumberPolylineDepth}
onChange={(data: number) => {
setInputNumberPolylineDepth(data)
}}
></MarsInputNumber>
<MarsButton
onClick={() => {
mapWork.interLineByDepth(inputNumberPolylineDepth)
}}
>
线插值(离屏渲染方式)
</MarsButton>
</Space>
</MarsFormItem>
</MarsPannel>
)
}
......
import { MarsPannel, MarsIcon, MarsInput, MarsButton, MarsPagination, $showLoading, $hideLoading, $message, $alert } from "@mars/components/MarsUI"
import { useRef, useState } from "react"
import { useEffect, useRef, useState } from "react"
import { isLonLat } from "@mars/utils/mars-util"
import * as mapWork from "./map"
import { useLifecycle } from "@mars/widgets/common/uses/useLifecycle"
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论