Compare commits
	
		
			10 Commits
		
	
	
		
			09f760b10a
			...
			develop
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 5f383f661f | |||
| ee38db98fb | |||
| d334518da7 | |||
| 8f41d5907a | |||
| 9866588986 | |||
| 5ab4a3b925 | |||
| 2604512f47 | |||
| 0bb1e5bd54 | |||
| 5d6679d919 | |||
| 41c132e506 | 
| @ -72,14 +72,43 @@ function openLeftClick(sdk, cb) { | |||||||
|         click = true |         click = true | ||||||
|       }, 600); |       }, 600); | ||||||
|       if (!YJ.Measure.GetMeasureStatus() && cartesian) { |       if (!YJ.Measure.GetMeasureStatus() && cartesian) { | ||||||
|         let flag = false |         const pick = sdk.viewer.scene.pick(movement.position) | ||||||
|         for (let i = leftClickCallbackMap.size - 1; i >= 0; i--) { |         if (pick) { | ||||||
|           let key = Array.from(leftClickCallbackMap.keys())[i] |           if (pick.id) { | ||||||
|           let obj = leftClickCallbackMap.get(key) |             let entityId | ||||||
|           if (obj) { |             // 矢量 | ||||||
|  |             if (pick.id.type && pick.id.type === 'vector' && pick.id.parentId) { | ||||||
|  |               let obj = leftClickCallbackMap.get(pick.id.parentId) | ||||||
|  |               if (obj.that.picking && obj.that.geojson) { | ||||||
|  |                 for (let i = 0; i < obj.that.geojson.features.length; i++) { | ||||||
|  |                   if (obj.that.geojson.features[i].id === pick.id._id) { | ||||||
|  |                     obj.callback( | ||||||
|  |                       movement, | ||||||
|  |                       obj.that.geojson.features[i].id, | ||||||
|  |                       cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                     return | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |             else if (typeof pick.id.id == 'string') { | ||||||
|  |               let array = pick.id.id.split('-') | ||||||
|  |               array.splice(array.length - 1, 1) | ||||||
|  |               entityId = array.join('-') | ||||||
|  |             } | ||||||
|  |  | ||||||
|             if (obj.that) { |             if (pick.id.properties && pick.id.properties.id && leftClickCallbackMap.has(pick.id.properties.id._value)) { | ||||||
|               // 是否为多边形 |               let obj = leftClickCallbackMap.get(pick.id.properties.id._value) | ||||||
|  |               if (obj.that.picking) { | ||||||
|  |                 obj.callback( | ||||||
|  |                   movement, | ||||||
|  |                   pick.id.properties.id._value, | ||||||
|  |                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                 return | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |             else if (leftClickCallbackMap.has(pick.id.id)) { | ||||||
|  |               let obj = leftClickCallbackMap.get(pick.id.id) | ||||||
|               if (obj.that.type === 'PolygonObject') { |               if (obj.that.type === 'PolygonObject') { | ||||||
|                 // 是否可点击y |                 // 是否可点击y | ||||||
|                 if (obj.that.picking) { |                 if (obj.that.picking) { | ||||||
| @ -103,8 +132,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|                 } |                 } | ||||||
| @ -129,8 +157,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|                 } |                 } | ||||||
| @ -153,8 +180,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|                 } |                 } | ||||||
| @ -179,8 +205,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|                 } |                 } | ||||||
| @ -200,8 +225,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|  |  | ||||||
| @ -224,57 +248,18 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|  |  | ||||||
|                 } |                 } | ||||||
|               } |               } | ||||||
|             } |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|         if (!flag) { |  | ||||||
|           const pick = sdk.viewer.scene.pick(movement.position) |  | ||||||
|           if (pick) { |  | ||||||
|             if (pick.id) { |  | ||||||
|               let entityId |  | ||||||
|               // 矢量 |  | ||||||
|               if (pick.id.type && pick.id.type === 'vector' && pick.id.parentId) { |  | ||||||
|                 let obj = leftClickCallbackMap.get(pick.id.parentId) |  | ||||||
|                 if (obj.that.picking && obj.that.geojson) { |  | ||||||
|                   for (let i = 0; i < obj.that.geojson.features.length; i++) { |  | ||||||
|                     if (obj.that.geojson.features[i].id === pick.id._id) { |  | ||||||
|                       obj.callback( |  | ||||||
|                         movement, |  | ||||||
|                         obj.that.geojson.features[i].id, |  | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |  | ||||||
|                     } |  | ||||||
|                   } |  | ||||||
|                 } |  | ||||||
|               } |  | ||||||
|               else if (typeof pick.id.id == 'string') { |  | ||||||
|                 let array = pick.id.id.split('-') |  | ||||||
|                 array.splice(array.length - 1, 1) |  | ||||||
|                 entityId = array.join('-') |  | ||||||
|               } |  | ||||||
|  |  | ||||||
|               if (pick.id.properties && pick.id.properties.id && leftClickCallbackMap.has(pick.id.properties.id._value)) { |  | ||||||
|                 let obj = leftClickCallbackMap.get(pick.id.properties.id._value) |  | ||||||
|                 if (obj.that.picking) { |  | ||||||
|                   obj.callback( |  | ||||||
|                     movement, |  | ||||||
|                     pick.id.properties.id._value, |  | ||||||
|                     cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |  | ||||||
|                 } |  | ||||||
|               } |  | ||||||
|               else if (leftClickCallbackMap.has(pick.id.id)) { |  | ||||||
|                 let obj = leftClickCallbackMap.get(pick.id.id) |  | ||||||
|               if (obj.that.picking) { |               if (obj.that.picking) { | ||||||
|                 obj.callback( |                 obj.callback( | ||||||
|                   movement, |                   movement, | ||||||
|                   pick.id.id, |                   pick.id.id, | ||||||
|                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                 return | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|             else if (entityId && leftClickCallbackMap.has(entityId)) { |             else if (entityId && leftClickCallbackMap.has(entityId)) { | ||||||
| @ -284,6 +269,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                   movement, |                   movement, | ||||||
|                   entityId, |                   entityId, | ||||||
|                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                 return | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|             else if (pick.primitive) { |             else if (pick.primitive) { | ||||||
| @ -293,6 +279,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                   movement, |                   movement, | ||||||
|                   pick.id, |                   pick.id, | ||||||
|                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                 return | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           } |           } | ||||||
| @ -341,6 +328,159 @@ function openLeftClick(sdk, cb) { | |||||||
|             } |             } | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|  |         for (let i = leftClickCallbackMap.size - 1; i >= 0; i--) { | ||||||
|  |           let key = Array.from(leftClickCallbackMap.keys())[i] | ||||||
|  |           let obj = leftClickCallbackMap.get(key) | ||||||
|  |           if (obj) { | ||||||
|  |             if (obj.that && obj.that.show && (obj.that.entity && obj.that.entity.show)) { | ||||||
|  |               // 是否为多边形 | ||||||
|  |               if (obj.that.type === 'PolygonObject') { | ||||||
|  |                 // 是否可点击y | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   if (obj.that.options.positions && obj.that.options.positions.length >= 3) { | ||||||
|  |                     let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                     let polyPos = [] | ||||||
|  |                     for (let i = 0; i < obj.that.options.positions.length; i++) { | ||||||
|  |                       polyPos.push([ | ||||||
|  |                         obj.that.options.positions[i].lng, | ||||||
|  |                         obj.that.options.positions[i].lat | ||||||
|  |                       ]) | ||||||
|  |                     } | ||||||
|  |                     polyPos.push([ | ||||||
|  |                       obj.that.options.positions[0].lng, | ||||||
|  |                       obj.that.options.positions[0].lat | ||||||
|  |                     ]) | ||||||
|  |                     let poly = turf.polygon([polyPos]); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, poly); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |               // 聚集地 | ||||||
|  |               else if (obj.that.type === 'AssembleObject') { | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   if (obj.that.options.positions && obj.that.options.positions.length >= 3) { | ||||||
|  |                     let positions = obj.that.computeAssemble(obj.that.options.positions, true) | ||||||
|  |                     let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                     let polyPos = [] | ||||||
|  |                     for (let i = 0; i < positions.length; i += 2) { | ||||||
|  |                       polyPos.push([ | ||||||
|  |                         positions[i], | ||||||
|  |                         positions[i + 1] | ||||||
|  |                       ]) | ||||||
|  |                     } | ||||||
|  |                     let poly = turf.polygon([polyPos]); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, poly); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |               // 单箭头 | ||||||
|  |               else if (obj.that.type === 'AttackArrowObject') { | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   if (obj.that.options.positions && obj.that.options.positions.length >= 3) { | ||||||
|  |                     let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                     let positions = obj.that.computeAttackArrow(obj.that.options.positions) | ||||||
|  |                     let polyPos = [] | ||||||
|  |                     for (let m = 0; m < positions.length; m++) { | ||||||
|  |                       let pos84 = cartesian3Towgs84(positions[m], sdk.viewer) | ||||||
|  |                       polyPos.push([pos84.lng, pos84.lat]) | ||||||
|  |                     } | ||||||
|  |                     let poly = turf.polygon([polyPos]); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, poly); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |               // 双箭头 | ||||||
|  |               else if (obj.that.type === 'PincerArrowObject') { | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   if (obj.that.options.positions && obj.that.options.positions.length >= 5) { | ||||||
|  |                     let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                     let positions = obj.that.computePincerArrow(obj.that.options.positions) | ||||||
|  |                     let polyPos = [] | ||||||
|  |                     for (let m = 0; m < positions.length; m++) { | ||||||
|  |                       let pos84 = cartesian3Towgs84(positions[m], sdk.viewer) | ||||||
|  |                       polyPos.push([pos84.lng, pos84.lat]) | ||||||
|  |                     } | ||||||
|  |                     let pos84_0 = cartesian3Towgs84(positions[0], sdk.viewer) | ||||||
|  |                     polyPos.push([pos84_0.lng, pos84_0.lat]) | ||||||
|  |                     let poly = turf.polygon([polyPos]); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, poly); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |               // 圆 | ||||||
|  |               else if (obj.that.type === 'CircleObject') { | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                   if (obj.that.options.center && obj.that.options.radius) { | ||||||
|  |                     let center = [obj.that.options.center.lng, obj.that.options.center.lat]; | ||||||
|  |                     let radius = obj.that.options.radius / 1000; | ||||||
|  |                     let options = { steps: 360, units: 'kilometers' }; | ||||||
|  |                     let circle = turf.circle(center, radius, options); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, circle); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |  | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |               // 扇形 | ||||||
|  |               else if (obj.that.type === 'SectorObject') { | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                   if (obj.that.options.center && obj.that.options.radius && obj.that.options.startAngle && obj.that.options.endAngle) { | ||||||
|  |                     let positions = obj.that.calSector(obj.that.options.center, obj.that.options.radius, obj.that.options.startAngle, obj.that.options.endAngle, undefined, true) | ||||||
|  |                     let polyPos = [] | ||||||
|  |                     for (let m = 0; m < positions.length; m++) { | ||||||
|  |                       polyPos.push([positions[m].lng, positions[m].lat]) | ||||||
|  |                     } | ||||||
|  |                     let poly = turf.polygon([polyPos]); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, poly); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |  | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |           } | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -72,14 +72,43 @@ function openLeftClick(sdk, cb) { | |||||||
|         click = true |         click = true | ||||||
|       }, 600); |       }, 600); | ||||||
|       if (!YJ.Measure.GetMeasureStatus() && cartesian) { |       if (!YJ.Measure.GetMeasureStatus() && cartesian) { | ||||||
|         let flag = false |         const pick = sdk.viewer.scene.pick(movement.position) | ||||||
|         for (let i = leftClickCallbackMap.size - 1; i >= 0; i--) { |         if (pick) { | ||||||
|           let key = Array.from(leftClickCallbackMap.keys())[i] |           if (pick.id) { | ||||||
|           let obj = leftClickCallbackMap.get(key) |             let entityId | ||||||
|           if (obj) { |             // 矢量 | ||||||
|  |             if (pick.id.type && pick.id.type === 'vector' && pick.id.parentId) { | ||||||
|  |               let obj = leftClickCallbackMap.get(pick.id.parentId) | ||||||
|  |               if (obj.that.picking && obj.that.geojson) { | ||||||
|  |                 for (let i = 0; i < obj.that.geojson.features.length; i++) { | ||||||
|  |                   if (obj.that.geojson.features[i].id === pick.id._id) { | ||||||
|  |                     obj.callback( | ||||||
|  |                       movement, | ||||||
|  |                       obj.that.geojson.features[i].id, | ||||||
|  |                       cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                     return | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |             else if (typeof pick.id.id == 'string') { | ||||||
|  |               let array = pick.id.id.split('-') | ||||||
|  |               array.splice(array.length - 1, 1) | ||||||
|  |               entityId = array.join('-') | ||||||
|  |             } | ||||||
|  |  | ||||||
|             if (obj.that) { |             if (pick.id.properties && pick.id.properties.id && leftClickCallbackMap.has(pick.id.properties.id._value)) { | ||||||
|               // 是否为多边形 |               let obj = leftClickCallbackMap.get(pick.id.properties.id._value) | ||||||
|  |               if (obj.that.picking) { | ||||||
|  |                 obj.callback( | ||||||
|  |                   movement, | ||||||
|  |                   pick.id.properties.id._value, | ||||||
|  |                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                 return | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |             else if (leftClickCallbackMap.has(pick.id.id)) { | ||||||
|  |               let obj = leftClickCallbackMap.get(pick.id.id) | ||||||
|               if (obj.that.type === 'PolygonObject') { |               if (obj.that.type === 'PolygonObject') { | ||||||
|                 // 是否可点击y |                 // 是否可点击y | ||||||
|                 if (obj.that.picking) { |                 if (obj.that.picking) { | ||||||
| @ -103,8 +132,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|                 } |                 } | ||||||
| @ -129,8 +157,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|                 } |                 } | ||||||
| @ -153,8 +180,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|                 } |                 } | ||||||
| @ -179,8 +205,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|                 } |                 } | ||||||
| @ -200,8 +225,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|  |  | ||||||
| @ -224,57 +248,18 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|  |  | ||||||
|                 } |                 } | ||||||
|               } |               } | ||||||
|             } |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|         if (!flag) { |  | ||||||
|           const pick = sdk.viewer.scene.pick(movement.position) |  | ||||||
|           if (pick) { |  | ||||||
|             if (pick.id) { |  | ||||||
|               let entityId |  | ||||||
|               // 矢量 |  | ||||||
|               if (pick.id.type && pick.id.type === 'vector' && pick.id.parentId) { |  | ||||||
|                 let obj = leftClickCallbackMap.get(pick.id.parentId) |  | ||||||
|                 if (obj.that.picking && obj.that.geojson) { |  | ||||||
|                   for (let i = 0; i < obj.that.geojson.features.length; i++) { |  | ||||||
|                     if (obj.that.geojson.features[i].id === pick.id._id) { |  | ||||||
|                       obj.callback( |  | ||||||
|                         movement, |  | ||||||
|                         obj.that.geojson.features[i].id, |  | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |  | ||||||
|                     } |  | ||||||
|                   } |  | ||||||
|                 } |  | ||||||
|               } |  | ||||||
|               else if (typeof pick.id.id == 'string') { |  | ||||||
|                 let array = pick.id.id.split('-') |  | ||||||
|                 array.splice(array.length - 1, 1) |  | ||||||
|                 entityId = array.join('-') |  | ||||||
|               } |  | ||||||
|  |  | ||||||
|               if (pick.id.properties && pick.id.properties.id && leftClickCallbackMap.has(pick.id.properties.id._value)) { |  | ||||||
|                 let obj = leftClickCallbackMap.get(pick.id.properties.id._value) |  | ||||||
|                 if (obj.that.picking) { |  | ||||||
|                   obj.callback( |  | ||||||
|                     movement, |  | ||||||
|                     pick.id.properties.id._value, |  | ||||||
|                     cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |  | ||||||
|                 } |  | ||||||
|               } |  | ||||||
|               else if (leftClickCallbackMap.has(pick.id.id)) { |  | ||||||
|                 let obj = leftClickCallbackMap.get(pick.id.id) |  | ||||||
|               if (obj.that.picking) { |               if (obj.that.picking) { | ||||||
|                 obj.callback( |                 obj.callback( | ||||||
|                   movement, |                   movement, | ||||||
|                   pick.id.id, |                   pick.id.id, | ||||||
|                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                 return | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|             else if (entityId && leftClickCallbackMap.has(entityId)) { |             else if (entityId && leftClickCallbackMap.has(entityId)) { | ||||||
| @ -284,6 +269,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                   movement, |                   movement, | ||||||
|                   entityId, |                   entityId, | ||||||
|                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                 return | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|             else if (pick.primitive) { |             else if (pick.primitive) { | ||||||
| @ -293,6 +279,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                   movement, |                   movement, | ||||||
|                   pick.id, |                   pick.id, | ||||||
|                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                 return | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           } |           } | ||||||
| @ -341,6 +328,159 @@ function openLeftClick(sdk, cb) { | |||||||
|             } |             } | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|  |         for (let i = leftClickCallbackMap.size - 1; i >= 0; i--) { | ||||||
|  |           let key = Array.from(leftClickCallbackMap.keys())[i] | ||||||
|  |           let obj = leftClickCallbackMap.get(key) | ||||||
|  |           if (obj) { | ||||||
|  |             if (obj.that && obj.that.show && (obj.that.entity && obj.that.entity.show)) { | ||||||
|  |               // 是否为多边形 | ||||||
|  |               if (obj.that.type === 'PolygonObject') { | ||||||
|  |                 // 是否可点击y | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   if (obj.that.options.positions && obj.that.options.positions.length >= 3) { | ||||||
|  |                     let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                     let polyPos = [] | ||||||
|  |                     for (let i = 0; i < obj.that.options.positions.length; i++) { | ||||||
|  |                       polyPos.push([ | ||||||
|  |                         obj.that.options.positions[i].lng, | ||||||
|  |                         obj.that.options.positions[i].lat | ||||||
|  |                       ]) | ||||||
|  |                     } | ||||||
|  |                     polyPos.push([ | ||||||
|  |                       obj.that.options.positions[0].lng, | ||||||
|  |                       obj.that.options.positions[0].lat | ||||||
|  |                     ]) | ||||||
|  |                     let poly = turf.polygon([polyPos]); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, poly); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |               // 聚集地 | ||||||
|  |               else if (obj.that.type === 'AssembleObject') { | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   if (obj.that.options.positions && obj.that.options.positions.length >= 3) { | ||||||
|  |                     let positions = obj.that.computeAssemble(obj.that.options.positions, true) | ||||||
|  |                     let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                     let polyPos = [] | ||||||
|  |                     for (let i = 0; i < positions.length; i += 2) { | ||||||
|  |                       polyPos.push([ | ||||||
|  |                         positions[i], | ||||||
|  |                         positions[i + 1] | ||||||
|  |                       ]) | ||||||
|  |                     } | ||||||
|  |                     let poly = turf.polygon([polyPos]); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, poly); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |               // 单箭头 | ||||||
|  |               else if (obj.that.type === 'AttackArrowObject') { | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   if (obj.that.options.positions && obj.that.options.positions.length >= 3) { | ||||||
|  |                     let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                     let positions = obj.that.computeAttackArrow(obj.that.options.positions) | ||||||
|  |                     let polyPos = [] | ||||||
|  |                     for (let m = 0; m < positions.length; m++) { | ||||||
|  |                       let pos84 = cartesian3Towgs84(positions[m], sdk.viewer) | ||||||
|  |                       polyPos.push([pos84.lng, pos84.lat]) | ||||||
|  |                     } | ||||||
|  |                     let poly = turf.polygon([polyPos]); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, poly); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |               // 双箭头 | ||||||
|  |               else if (obj.that.type === 'PincerArrowObject') { | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   if (obj.that.options.positions && obj.that.options.positions.length >= 5) { | ||||||
|  |                     let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                     let positions = obj.that.computePincerArrow(obj.that.options.positions) | ||||||
|  |                     let polyPos = [] | ||||||
|  |                     for (let m = 0; m < positions.length; m++) { | ||||||
|  |                       let pos84 = cartesian3Towgs84(positions[m], sdk.viewer) | ||||||
|  |                       polyPos.push([pos84.lng, pos84.lat]) | ||||||
|  |                     } | ||||||
|  |                     let pos84_0 = cartesian3Towgs84(positions[0], sdk.viewer) | ||||||
|  |                     polyPos.push([pos84_0.lng, pos84_0.lat]) | ||||||
|  |                     let poly = turf.polygon([polyPos]); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, poly); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |               // 圆 | ||||||
|  |               else if (obj.that.type === 'CircleObject') { | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                   if (obj.that.options.center && obj.that.options.radius) { | ||||||
|  |                     let center = [obj.that.options.center.lng, obj.that.options.center.lat]; | ||||||
|  |                     let radius = obj.that.options.radius / 1000; | ||||||
|  |                     let options = { steps: 360, units: 'kilometers' }; | ||||||
|  |                     let circle = turf.circle(center, radius, options); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, circle); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |  | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |               // 扇形 | ||||||
|  |               else if (obj.that.type === 'SectorObject') { | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                   if (obj.that.options.center && obj.that.options.radius && obj.that.options.startAngle && obj.that.options.endAngle) { | ||||||
|  |                     let positions = obj.that.calSector(obj.that.options.center, obj.that.options.radius, obj.that.options.startAngle, obj.that.options.endAngle, undefined, true) | ||||||
|  |                     let polyPos = [] | ||||||
|  |                     for (let m = 0; m < positions.length; m++) { | ||||||
|  |                       polyPos.push([positions[m].lng, positions[m].lat]) | ||||||
|  |                     } | ||||||
|  |                     let poly = turf.polygon([polyPos]); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, poly); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |  | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |           } | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -72,14 +72,43 @@ function openLeftClick(sdk, cb) { | |||||||
|         click = true |         click = true | ||||||
|       }, 600); |       }, 600); | ||||||
|       if (!YJ.Measure.GetMeasureStatus() && cartesian) { |       if (!YJ.Measure.GetMeasureStatus() && cartesian) { | ||||||
|         let flag = false |         const pick = sdk.viewer.scene.pick(movement.position) | ||||||
|         for (let i = leftClickCallbackMap.size - 1; i >= 0; i--) { |         if (pick) { | ||||||
|           let key = Array.from(leftClickCallbackMap.keys())[i] |           if (pick.id) { | ||||||
|           let obj = leftClickCallbackMap.get(key) |             let entityId | ||||||
|           if (obj) { |             // 矢量 | ||||||
|  |             if (pick.id.type && pick.id.type === 'vector' && pick.id.parentId) { | ||||||
|  |               let obj = leftClickCallbackMap.get(pick.id.parentId) | ||||||
|  |               if (obj.that.picking && obj.that.geojson) { | ||||||
|  |                 for (let i = 0; i < obj.that.geojson.features.length; i++) { | ||||||
|  |                   if (obj.that.geojson.features[i].id === pick.id._id) { | ||||||
|  |                     obj.callback( | ||||||
|  |                       movement, | ||||||
|  |                       obj.that.geojson.features[i].id, | ||||||
|  |                       cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                     return | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |             else if (typeof pick.id.id == 'string') { | ||||||
|  |               let array = pick.id.id.split('-') | ||||||
|  |               array.splice(array.length - 1, 1) | ||||||
|  |               entityId = array.join('-') | ||||||
|  |             } | ||||||
|  |  | ||||||
|             if (obj.that) { |             if (pick.id.properties && pick.id.properties.id && leftClickCallbackMap.has(pick.id.properties.id._value)) { | ||||||
|               // 是否为多边形 |               let obj = leftClickCallbackMap.get(pick.id.properties.id._value) | ||||||
|  |               if (obj.that.picking) { | ||||||
|  |                 obj.callback( | ||||||
|  |                   movement, | ||||||
|  |                   pick.id.properties.id._value, | ||||||
|  |                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                 return | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |             else if (leftClickCallbackMap.has(pick.id.id)) { | ||||||
|  |               let obj = leftClickCallbackMap.get(pick.id.id) | ||||||
|               if (obj.that.type === 'PolygonObject') { |               if (obj.that.type === 'PolygonObject') { | ||||||
|                 // 是否可点击y |                 // 是否可点击y | ||||||
|                 if (obj.that.picking) { |                 if (obj.that.picking) { | ||||||
| @ -103,8 +132,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|                 } |                 } | ||||||
| @ -129,8 +157,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|                 } |                 } | ||||||
| @ -153,8 +180,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|                 } |                 } | ||||||
| @ -179,8 +205,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|                 } |                 } | ||||||
| @ -200,8 +225,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|  |  | ||||||
| @ -224,57 +248,18 @@ function openLeftClick(sdk, cb) { | |||||||
|                         movement, |                         movement, | ||||||
|                         obj.that.options.id, |                         obj.that.options.id, | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|                       flag = true |                       return | ||||||
|                       break |  | ||||||
|                     } |                     } | ||||||
|                   } |                   } | ||||||
|  |  | ||||||
|                 } |                 } | ||||||
|               } |               } | ||||||
|             } |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|         if (!flag) { |  | ||||||
|           const pick = sdk.viewer.scene.pick(movement.position) |  | ||||||
|           if (pick) { |  | ||||||
|             if (pick.id) { |  | ||||||
|               let entityId |  | ||||||
|               // 矢量 |  | ||||||
|               if (pick.id.type && pick.id.type === 'vector' && pick.id.parentId) { |  | ||||||
|                 let obj = leftClickCallbackMap.get(pick.id.parentId) |  | ||||||
|                 if (obj.that.picking && obj.that.geojson) { |  | ||||||
|                   for (let i = 0; i < obj.that.geojson.features.length; i++) { |  | ||||||
|                     if (obj.that.geojson.features[i].id === pick.id._id) { |  | ||||||
|                       obj.callback( |  | ||||||
|                         movement, |  | ||||||
|                         obj.that.geojson.features[i].id, |  | ||||||
|                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |  | ||||||
|                     } |  | ||||||
|                   } |  | ||||||
|                 } |  | ||||||
|               } |  | ||||||
|               else if (typeof pick.id.id == 'string') { |  | ||||||
|                 let array = pick.id.id.split('-') |  | ||||||
|                 array.splice(array.length - 1, 1) |  | ||||||
|                 entityId = array.join('-') |  | ||||||
|               } |  | ||||||
|  |  | ||||||
|               if (pick.id.properties && pick.id.properties.id && leftClickCallbackMap.has(pick.id.properties.id._value)) { |  | ||||||
|                 let obj = leftClickCallbackMap.get(pick.id.properties.id._value) |  | ||||||
|                 if (obj.that.picking) { |  | ||||||
|                   obj.callback( |  | ||||||
|                     movement, |  | ||||||
|                     pick.id.properties.id._value, |  | ||||||
|                     cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |  | ||||||
|                 } |  | ||||||
|               } |  | ||||||
|               else if (leftClickCallbackMap.has(pick.id.id)) { |  | ||||||
|                 let obj = leftClickCallbackMap.get(pick.id.id) |  | ||||||
|               if (obj.that.picking) { |               if (obj.that.picking) { | ||||||
|                 obj.callback( |                 obj.callback( | ||||||
|                   movement, |                   movement, | ||||||
|                   pick.id.id, |                   pick.id.id, | ||||||
|                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                 return | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|             else if (entityId && leftClickCallbackMap.has(entityId)) { |             else if (entityId && leftClickCallbackMap.has(entityId)) { | ||||||
| @ -284,6 +269,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                   movement, |                   movement, | ||||||
|                   entityId, |                   entityId, | ||||||
|                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                 return | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|             else if (pick.primitive) { |             else if (pick.primitive) { | ||||||
| @ -293,6 +279,7 @@ function openLeftClick(sdk, cb) { | |||||||
|                   movement, |                   movement, | ||||||
|                   pick.id, |                   pick.id, | ||||||
|                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) |                   cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                 return | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           } |           } | ||||||
| @ -341,6 +328,159 @@ function openLeftClick(sdk, cb) { | |||||||
|             } |             } | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|  |         for (let i = leftClickCallbackMap.size - 1; i >= 0; i--) { | ||||||
|  |           let key = Array.from(leftClickCallbackMap.keys())[i] | ||||||
|  |           let obj = leftClickCallbackMap.get(key) | ||||||
|  |           if (obj) { | ||||||
|  |             if (obj.that && obj.that.show && (obj.that.entity && obj.that.entity.show)) { | ||||||
|  |               // 是否为多边形 | ||||||
|  |               if (obj.that.type === 'PolygonObject') { | ||||||
|  |                 // 是否可点击y | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   if (obj.that.options.positions && obj.that.options.positions.length >= 3) { | ||||||
|  |                     let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                     let polyPos = [] | ||||||
|  |                     for (let i = 0; i < obj.that.options.positions.length; i++) { | ||||||
|  |                       polyPos.push([ | ||||||
|  |                         obj.that.options.positions[i].lng, | ||||||
|  |                         obj.that.options.positions[i].lat | ||||||
|  |                       ]) | ||||||
|  |                     } | ||||||
|  |                     polyPos.push([ | ||||||
|  |                       obj.that.options.positions[0].lng, | ||||||
|  |                       obj.that.options.positions[0].lat | ||||||
|  |                     ]) | ||||||
|  |                     let poly = turf.polygon([polyPos]); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, poly); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |               // 聚集地 | ||||||
|  |               else if (obj.that.type === 'AssembleObject') { | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   if (obj.that.options.positions && obj.that.options.positions.length >= 3) { | ||||||
|  |                     let positions = obj.that.computeAssemble(obj.that.options.positions, true) | ||||||
|  |                     let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                     let polyPos = [] | ||||||
|  |                     for (let i = 0; i < positions.length; i += 2) { | ||||||
|  |                       polyPos.push([ | ||||||
|  |                         positions[i], | ||||||
|  |                         positions[i + 1] | ||||||
|  |                       ]) | ||||||
|  |                     } | ||||||
|  |                     let poly = turf.polygon([polyPos]); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, poly); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |               // 单箭头 | ||||||
|  |               else if (obj.that.type === 'AttackArrowObject') { | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   if (obj.that.options.positions && obj.that.options.positions.length >= 3) { | ||||||
|  |                     let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                     let positions = obj.that.computeAttackArrow(obj.that.options.positions) | ||||||
|  |                     let polyPos = [] | ||||||
|  |                     for (let m = 0; m < positions.length; m++) { | ||||||
|  |                       let pos84 = cartesian3Towgs84(positions[m], sdk.viewer) | ||||||
|  |                       polyPos.push([pos84.lng, pos84.lat]) | ||||||
|  |                     } | ||||||
|  |                     let poly = turf.polygon([polyPos]); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, poly); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |               // 双箭头 | ||||||
|  |               else if (obj.that.type === 'PincerArrowObject') { | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   if (obj.that.options.positions && obj.that.options.positions.length >= 5) { | ||||||
|  |                     let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                     let positions = obj.that.computePincerArrow(obj.that.options.positions) | ||||||
|  |                     let polyPos = [] | ||||||
|  |                     for (let m = 0; m < positions.length; m++) { | ||||||
|  |                       let pos84 = cartesian3Towgs84(positions[m], sdk.viewer) | ||||||
|  |                       polyPos.push([pos84.lng, pos84.lat]) | ||||||
|  |                     } | ||||||
|  |                     let pos84_0 = cartesian3Towgs84(positions[0], sdk.viewer) | ||||||
|  |                     polyPos.push([pos84_0.lng, pos84_0.lat]) | ||||||
|  |                     let poly = turf.polygon([polyPos]); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, poly); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |               // 圆 | ||||||
|  |               else if (obj.that.type === 'CircleObject') { | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                   if (obj.that.options.center && obj.that.options.radius) { | ||||||
|  |                     let center = [obj.that.options.center.lng, obj.that.options.center.lat]; | ||||||
|  |                     let radius = obj.that.options.radius / 1000; | ||||||
|  |                     let options = { steps: 360, units: 'kilometers' }; | ||||||
|  |                     let circle = turf.circle(center, radius, options); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, circle); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |  | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |               // 扇形 | ||||||
|  |               else if (obj.that.type === 'SectorObject') { | ||||||
|  |                 if (obj.that.picking) { | ||||||
|  |                   let pt = turf.point([pos84.lng, pos84.lat]); | ||||||
|  |                   if (obj.that.options.center && obj.that.options.radius && obj.that.options.startAngle && obj.that.options.endAngle) { | ||||||
|  |                     let positions = obj.that.calSector(obj.that.options.center, obj.that.options.radius, obj.that.options.startAngle, obj.that.options.endAngle, undefined, true) | ||||||
|  |                     let polyPos = [] | ||||||
|  |                     for (let m = 0; m < positions.length; m++) { | ||||||
|  |                       polyPos.push([positions[m].lng, positions[m].lat]) | ||||||
|  |                     } | ||||||
|  |                     let poly = turf.polygon([polyPos]); | ||||||
|  |                     let contain = turf.booleanPointInPolygon(pt, poly); | ||||||
|  |                     if (contain) { | ||||||
|  |                       obj.callback( | ||||||
|  |                         movement, | ||||||
|  |                         obj.that.options.id, | ||||||
|  |                         cartesian3Towgs84(getcartesian(sdk, movement), sdk.viewer), obj.that) | ||||||
|  |                       break | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |  | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |           } | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -29,7 +29,7 @@ function getCurrentView(sdk) { | |||||||
|     // heading: viewer.camera.heading, |     // heading: viewer.camera.heading, | ||||||
|     // pitch: viewer.camera.pitch, |     // pitch: viewer.camera.pitch, | ||||||
|     // roll: viewer.camera.roll, |     // roll: viewer.camera.roll, | ||||||
|     position: tools.cartesian3Towgs84(viewer.camera.position, viewer), |     position: tools.cartesian3Towgs84(viewer.camera._positionWC, viewer), | ||||||
|     orientation: { |     orientation: { | ||||||
|       heading: Cesium.Math.toDegrees(viewer.camera.heading), |       heading: Cesium.Math.toDegrees(viewer.camera.heading), | ||||||
|       pitch: Cesium.Math.toDegrees(viewer.camera.pitch), |       pitch: Cesium.Math.toDegrees(viewer.camera.pitch), | ||||||
|  | |||||||
| @ -92,12 +92,12 @@ function MouseRightMenu(sdk, status, callBack) { | |||||||
|           entityId = entityId.parentId |           entityId = entityId.parentId | ||||||
|         } |         } | ||||||
|         let addedMenu = '' |         let addedMenu = '' | ||||||
|         let that = sdk.entityMap.get(entityId) |         let that = sdk.entityMap.get(entityId+'') | ||||||
|         if (!that && entityId) { |         if (!that && entityId) { | ||||||
|           let array = entityId.split('-') |           let array = (entityId+'').split('-') | ||||||
|           array.splice(array.length - 1, 1) |           array.splice(array.length - 1, 1) | ||||||
|           entityId = array.join('-') |           entityId = array.join('-') | ||||||
|           that = sdk.entityMap.get(entityId) |           that = sdk.entityMap.get(entityId+'') | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (that && that.picking) { |         if (that && that.picking) { | ||||||
|  | |||||||
| @ -46,7 +46,7 @@ class BatchModel extends Base { | |||||||
|     this._EventBinding = new EventBinding() |     this._EventBinding = new EventBinding() | ||||||
|     this._elms = {}; |     this._elms = {}; | ||||||
|     this.pointArr = [] |     this.pointArr = [] | ||||||
|     this.sdk.addIncetance(this.options.id, this) |     // this.sdk.addIncetance(this.options.id, this) | ||||||
|     let tools = new Tools(sdk) |     let tools = new Tools(sdk) | ||||||
|     // BatchModel.computeDis(this) |     // BatchModel.computeDis(this) | ||||||
|     // if (this.options.positions.length > 0 || this.options.positions.lng) { |     // if (this.options.positions.length > 0 || this.options.positions.lng) { | ||||||
| @ -58,6 +58,7 @@ class BatchModel extends Base { | |||||||
|       // BatchModel.computeDis(this) |       // BatchModel.computeDis(this) | ||||||
|  |  | ||||||
|       let Draw |       let Draw | ||||||
|  |       console.log('kkkkk') | ||||||
|       switch (options.type) { |       switch (options.type) { | ||||||
|         case '点': |         case '点': | ||||||
|           Draw = new DrawPoint(this.sdk) |           Draw = new DrawPoint(this.sdk) | ||||||
| @ -73,7 +74,9 @@ class BatchModel extends Base { | |||||||
|       } |       } | ||||||
|       Draw && Draw.start((a, positions) => { |       Draw && Draw.start((a, positions) => { | ||||||
|         this.options.positions = positions; |         this.options.positions = positions; | ||||||
|  |         console.log('uuuuuu') | ||||||
|         //判断范围是否过大 |         //判断范围是否过大 | ||||||
|  |         if (positions.length != 0 || positions.lng) { | ||||||
|           if (options.type == '面') { |           if (options.type == '面') { | ||||||
|             let posi = positions.map(v => { |             let posi = positions.map(v => { | ||||||
|               return Cesium.Cartesian3.fromDegrees(v.lng, v.lat) |               return Cesium.Cartesian3.fromDegrees(v.lng, v.lat) | ||||||
| @ -101,6 +104,7 @@ class BatchModel extends Base { | |||||||
|           } |           } | ||||||
|           // this.callback(this.options); |           // this.callback(this.options); | ||||||
|           (this.options.positions.length || this.options.positions.lng) && BatchModel.computeDis(this) |           (this.options.positions.length || this.options.positions.lng) && BatchModel.computeDis(this) | ||||||
|  |         } | ||||||
|       }) |       }) | ||||||
|  |  | ||||||
|     } else { |     } else { | ||||||
| @ -115,6 +119,7 @@ class BatchModel extends Base { | |||||||
|     let posiArr = [] |     let posiArr = [] | ||||||
|     let array = [] |     let array = [] | ||||||
|     if (that.options.type == '面') { |     if (that.options.type == '面') { | ||||||
|  |       if (that.options.positions.length != 0) { | ||||||
|         that.options.positions.forEach(item => { |         that.options.positions.forEach(item => { | ||||||
|           fromDegreesArray.push(item.lng, item.lat) |           fromDegreesArray.push(item.lng, item.lat) | ||||||
|         }) |         }) | ||||||
| @ -135,7 +140,9 @@ class BatchModel extends Base { | |||||||
|             alt: height |             alt: height | ||||||
|           }) |           }) | ||||||
|         }) |         }) | ||||||
|  |       } | ||||||
|     } else if (that.options.type == '线') { |     } else if (that.options.type == '线') { | ||||||
|  |       if (that.options.positions.length != 0) { | ||||||
|         that.options.positions.forEach(item => { |         that.options.positions.forEach(item => { | ||||||
|           fromDegreesArray.push(item.lng, item.lat) |           fromDegreesArray.push(item.lng, item.lat) | ||||||
|         }) |         }) | ||||||
| @ -155,12 +162,17 @@ class BatchModel extends Base { | |||||||
|             alt: height |             alt: height | ||||||
|           }) |           }) | ||||||
|         }) |         }) | ||||||
|  |       } | ||||||
|  |  | ||||||
|     } else if (that.options.type == '点') { |     } else if (that.options.type == '点') { | ||||||
|  |       if (that.options.positions.lng) { | ||||||
|         let height = await that.getClampToHeight({ lng: that.options.positions.lng, lat: that.options.positions.lat }) |         let height = await that.getClampToHeight({ lng: that.options.positions.lng, lat: that.options.positions.lat }) | ||||||
|         posiArr = [{ lng: that.options.positions.lng, lat: that.options.positions.lat, alt: height }] |         posiArr = [{ lng: that.options.positions.lng, lat: that.options.positions.lat, alt: height }] | ||||||
|         // posiArr = [that.options.positions] |         // posiArr = [that.options.positions] | ||||||
|         that.pointArr = posiArr |         that.pointArr = posiArr | ||||||
|       } |       } | ||||||
|  |  | ||||||
|  |     } | ||||||
|     let params = { |     let params = { | ||||||
|       type: that.options.type, |       type: that.options.type, | ||||||
|       positions: posiArr, |       positions: posiArr, | ||||||
|  | |||||||
| @ -348,9 +348,10 @@ class CurvelineObject extends Base { | |||||||
|       this._elms.lineWidth.forEach(item => { |       this._elms.lineWidth.forEach(item => { | ||||||
|         item.value = this.options.width |         item.value = this.options.width | ||||||
|       }) |       }) | ||||||
|     this.entity && |     if (this.entity && this.entity.polyline) { | ||||||
|       this.entity.polyline && |       this.entity.polyline.width = this.entity.polyline.width + v - this.entity.polyline.oriWidth | ||||||
|       (this.entity.polyline.width = this.options.width) |       this.entity.polyline.oriWidth = this.options.width | ||||||
|  |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   get lineType() { |   get lineType() { | ||||||
|  | |||||||
| @ -1215,9 +1215,12 @@ class GroundSvg extends Base { | |||||||
|   * @param {boolean} status=false 状态 |   * @param {boolean} status=false 状态 | ||||||
|   */ |   */ | ||||||
|   drag(status, cd) { |   drag(status, cd) { | ||||||
|     if (!this.#loaded || !this.sdk || !this.sdk.viewer) { |     if (!this.#loaded || !this.sdk || !this.sdk.viewer || !this.entity || !this.entity.values || this.entity.values.length == 0) { | ||||||
|       return |       return | ||||||
|     } |     } | ||||||
|  |     let greenImg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA+0lEQVR4AZSTPQ7CMAyFk0jAFYCRCbgEbHAKBqRyKCoYOAVs5RLAQseKKxQkwntWVCltJdzK+bO/59ZW6kztGX6mi/F7dhiV0ydWzxH2B8ZquIkSAN47bzNAW2vtBKtY2G8ZIyPOMFUJxuX8DF+C8c+SwAonCSSr9SvxaCawogHrQl2aNwOPLKHWoa5N5O5woNZ575cdNBFKrQsdjgLaA7XSRK2gjWMJeVtA40MJOUvgxdHwDQYlZO5r/akRUTqoda/e4wo+xehqKbXSxKJ/3xlvL+oMYEUDgSTAaorBbY1V8yVpYIGb+G9kVtTFi3Vkh4XAFPZHxsjAVdkPAAD//0PYov0AAAAGSURBVAMA5pZjby819WUAAAAASUVORK5CYII=' | ||||||
|  |     let redImg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA1klEQVR4AZST0Q2CQBBEF0qhEfjDKvgwwaIk+kEV8oeFSCs4D4+gB4l7ZIfszc7OLXDkFl2zWSnchJcwB5DDlZHcfgwkvkowCmehENYghxuDZuU3AxUeYlvhX7RBu+iWCUSwc70wvlsdeixXwnN5do6tmaRkgiauJKwbDKqEhlhaYcAbjgvedYGBV3yow2A6rPjICQMOjk++V40Y9HvezfR5ZvaUvBNSo6OXCUzJRd2D4I0h9Gz/goiTuj2TsDNayW0zYJWZMQkH667199chh6uCRuVPvAEAAP//mBlPPAAAAAZJREFUAwAzdy+JgzpBHQAAAABJRU5ErkJggg==' | ||||||
|  |     let yellowImg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA8ElEQVR4AZyQMY7CQAxFbbe7W7IH2GrJJaCDU1AgwaFAUHAK6OASQAM9UAJtzLxRBikUKMwo1jjf//0oNnk518t/534uZtdTcbidC6fooxZmL3apBdwv7Ym6rV1kqCp/yUwftTDDk3TuZ0D40tJdR4jvCg/e5IkBVWoviQ3uXsWI8c+kNoBqFhhYM7dBbfLBC6yVLl3JPLDGhjN5gY1LzA2AM3c50uQUrJnKWjIPrJVaLjJ5gbWf1n6j6tNPQ2Bg4xK/WrtxCFiFavqsKkZiANT377ZPKv27woM3eZ4BCKS6ll0VmbNhNIo+amGGBy3VAwAA//9///lSAAAABklEQVQDAADzbcvdBag1AAAAAElFTkSuQmCC' | ||||||
|     this.ismove = false |     this.ismove = false | ||||||
|     this._isdrag = status |     this._isdrag = status | ||||||
|     if (this.ScreenSpaceEventHandler) { |     if (this.ScreenSpaceEventHandler) { | ||||||
| @ -1304,38 +1307,61 @@ class GroundSvg extends Base { | |||||||
|                 angleH = angleH + 180 |                 angleH = angleH + 180 | ||||||
|                 flag2 = true |                 flag2 = true | ||||||
|               } |               } | ||||||
|               if(flag && flag2) { |  | ||||||
|                 this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                 this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                 this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                 this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#ff0000') |  | ||||||
|               } |  | ||||||
|               else { |  | ||||||
|                 if(flag) { |  | ||||||
|                   this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                   this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#ff0000') |  | ||||||
|                   this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                   this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                 } |  | ||||||
|                 else if(flag2) { |  | ||||||
|                   this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                   this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                   this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#ff0000') |  | ||||||
|                   this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                 } |  | ||||||
|                 else { |  | ||||||
|                   this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#ff0000') |  | ||||||
|                   this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                   this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                   this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                 } |  | ||||||
|               } |  | ||||||
|                |                | ||||||
|               radiansW = (Math.PI / 180) * angleW |               radiansW = (Math.PI / 180) * angleW | ||||||
|               radiansH = (Math.PI / 180) * angleH |               radiansH = (Math.PI / 180) * angleH | ||||||
|               // 矩形高度 |               // 矩形高度 | ||||||
|               w = (Math.cos(radiansW) * distance) * 2 |               w = (Math.cos(radiansW) * distance) * 2 | ||||||
|               h = (Math.cos(radiansH) * distance) * 2 |               h = (Math.cos(radiansH) * distance) * 2 | ||||||
|  |  | ||||||
|  |               if(h<0) { | ||||||
|  |                 flag2 = !flag2 | ||||||
|  |               } | ||||||
|  |               if(w<0) { | ||||||
|  |                 flag = !flag | ||||||
|  |               } | ||||||
|  |               if (flag && flag2) { | ||||||
|  |                 // this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                 // this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                 // this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                 // this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |                 this.pointEntityCollection.values[1].billboard.image = greenImg | ||||||
|  |                 this.pointEntityCollection.values[3].billboard.image = greenImg | ||||||
|  |                 this.pointEntityCollection.values[7].billboard.image = greenImg | ||||||
|  |                 this.pointEntityCollection.values[9].billboard.image = redImg | ||||||
|  |               } | ||||||
|  |               else { | ||||||
|  |                 if (flag) { | ||||||
|  |                   // this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   // this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |                   // this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   // this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   this.pointEntityCollection.values[1].billboard.image = greenImg | ||||||
|  |                   this.pointEntityCollection.values[3].billboard.image = redImg | ||||||
|  |                   this.pointEntityCollection.values[7].billboard.image = greenImg | ||||||
|  |                   this.pointEntityCollection.values[9].billboard.image = greenImg | ||||||
|  |                 } | ||||||
|  |                 else if (flag2) { | ||||||
|  |                   // this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   // this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   // this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |                   // this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   this.pointEntityCollection.values[1].billboard.image = greenImg | ||||||
|  |                   this.pointEntityCollection.values[3].billboard.image = greenImg | ||||||
|  |                   this.pointEntityCollection.values[7].billboard.image = redImg | ||||||
|  |                   this.pointEntityCollection.values[9].billboard.image = greenImg | ||||||
|  |                 } | ||||||
|  |                 else { | ||||||
|  |                   // this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |                   // this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   // this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   // this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   this.pointEntityCollection.values[1].billboard.image = redImg | ||||||
|  |                   this.pointEntityCollection.values[3].billboard.image = greenImg | ||||||
|  |                   this.pointEntityCollection.values[7].billboard.image = greenImg | ||||||
|  |                   this.pointEntityCollection.values[9].billboard.image = greenImg | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|               // scaleY值 |               // scaleY值 | ||||||
|               this.scale.x = Math.abs(w) / 3.5 |               this.scale.x = Math.abs(w) / 3.5 | ||||||
|               this.scale.y = Math.abs(h) / 3.5 |               this.scale.y = Math.abs(h) / 3.5 | ||||||
| @ -1347,12 +1373,16 @@ class GroundSvg extends Base { | |||||||
|  |  | ||||||
|               if ((angleH > -360 && angleH < -90) || (angleH < 360 && angleH > 90)) { |               if ((angleH > -360 && angleH < -90) || (angleH < 360 && angleH > 90)) { | ||||||
|                 angleH = angleH + 180 |                 angleH = angleH + 180 | ||||||
|                 this.pointEntityCollection.values[2].point.color = Cesium.Color.fromCssColorString('#00ff0a') |                 // this.pointEntityCollection.values[2].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|                 this.pointEntityCollection.values[8].point.color = Cesium.Color.fromCssColorString('#ff0000') |                 // this.pointEntityCollection.values[8].point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |                 this.pointEntityCollection.values[2].billboard.image = greenImg | ||||||
|  |                 this.pointEntityCollection.values[8].billboard.image = redImg | ||||||
|               } |               } | ||||||
|               else { |               else { | ||||||
|                 this.pointEntityCollection.values[2].point.color = Cesium.Color.fromCssColorString('#ff0000') |                 // this.pointEntityCollection.values[2].point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|                 this.pointEntityCollection.values[8].point.color = Cesium.Color.fromCssColorString('#00ff0a') |                 // this.pointEntityCollection.values[8].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                 this.pointEntityCollection.values[2].billboard.image = redImg | ||||||
|  |                 this.pointEntityCollection.values[8].billboard.image = greenImg | ||||||
|               } |               } | ||||||
|  |  | ||||||
|               radiansH = (Math.PI / 180) * angleH |               radiansH = (Math.PI / 180) * angleH | ||||||
| @ -1376,38 +1406,62 @@ class GroundSvg extends Base { | |||||||
|                 angleH = angleH + 180 |                 angleH = angleH + 180 | ||||||
|                 flag2 = true |                 flag2 = true | ||||||
|               } |               } | ||||||
|               if(flag && flag2) { |  | ||||||
|                 this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                 this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                 this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#ff0000') |  | ||||||
|                 this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|               } |  | ||||||
|               else { |  | ||||||
|                 if(flag) { |  | ||||||
|                   this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#ff0000') |  | ||||||
|                   this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                   this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                   this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                 } |  | ||||||
|                 else if(flag2) { |  | ||||||
|                   this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                   this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                   this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                   this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#ff0000') |  | ||||||
|                 } |  | ||||||
|                 else { |  | ||||||
|                   this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                   this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#ff0000') |  | ||||||
|                   this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                   this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a') |  | ||||||
|                 } |  | ||||||
|               } |  | ||||||
|  |  | ||||||
|               radiansW = (Math.PI / 180) * angleW |               radiansW = (Math.PI / 180) * angleW | ||||||
|               radiansH = (Math.PI / 180) * angleH |               radiansH = (Math.PI / 180) * angleH | ||||||
|               // 矩形高度 |               // 矩形高度 | ||||||
|               w = (Math.cos(radiansW) * distance) * 2 |               w = (Math.cos(radiansW) * distance) * 2 | ||||||
|               h = (Math.cos(radiansH) * distance) * 2 |               h = (Math.cos(radiansH) * distance) * 2 | ||||||
|  |  | ||||||
|  |               if(h<0) { | ||||||
|  |                 flag2 = !flag2 | ||||||
|  |               } | ||||||
|  |               if(w<0) { | ||||||
|  |                 flag = !flag | ||||||
|  |               } | ||||||
|  |  | ||||||
|  |               if (flag && flag2) { | ||||||
|  |                 // this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                 // this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                 // this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |                 // this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                 this.pointEntityCollection.values[1].billboard.image = greenImg | ||||||
|  |                 this.pointEntityCollection.values[3].billboard.image = greenImg | ||||||
|  |                 this.pointEntityCollection.values[7].billboard.image = redImg | ||||||
|  |                 this.pointEntityCollection.values[9].billboard.image = greenImg | ||||||
|  |               } | ||||||
|  |               else { | ||||||
|  |                 if (flag) { | ||||||
|  |                   // this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |                   // this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   // this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   // this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   this.pointEntityCollection.values[1].billboard.image = redImg | ||||||
|  |                   this.pointEntityCollection.values[3].billboard.image = greenImg | ||||||
|  |                   this.pointEntityCollection.values[7].billboard.image = greenImg | ||||||
|  |                   this.pointEntityCollection.values[9].billboard.image = greenImg | ||||||
|  |                 } | ||||||
|  |                 else if (flag2) { | ||||||
|  |                   // this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   // this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   // this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   // this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |                   this.pointEntityCollection.values[1].billboard.image = greenImg | ||||||
|  |                   this.pointEntityCollection.values[3].billboard.image = greenImg | ||||||
|  |                   this.pointEntityCollection.values[7].billboard.image = greenImg | ||||||
|  |                   this.pointEntityCollection.values[9].billboard.image = redImg | ||||||
|  |                 } | ||||||
|  |                 else { | ||||||
|  |                   // this.pointEntityCollection.values[1].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   // this.pointEntityCollection.values[3].point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |                   // this.pointEntityCollection.values[7].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   // this.pointEntityCollection.values[9].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   this.pointEntityCollection.values[1].billboard.image = greenImg | ||||||
|  |                   this.pointEntityCollection.values[3].billboard.image = redImg | ||||||
|  |                   this.pointEntityCollection.values[7].billboard.image = greenImg | ||||||
|  |                   this.pointEntityCollection.values[9].billboard.image = greenImg | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|               // scaleY值 |               // scaleY值 | ||||||
|               this.scale.x = Math.abs(w) / 3.5 |               this.scale.x = Math.abs(w) / 3.5 | ||||||
|               this.scale.y = Math.abs(h) / 3.5 |               this.scale.y = Math.abs(h) / 3.5 | ||||||
| @ -1418,12 +1472,16 @@ class GroundSvg extends Base { | |||||||
|  |  | ||||||
|               if ((angleW > -360 && angleW < -90) || (angleW < 360 && angleW > 90)) { |               if ((angleW > -360 && angleW < -90) || (angleW < 360 && angleW > 90)) { | ||||||
|                 angleW = angleW + 180 |                 angleW = angleW + 180 | ||||||
|                 this.pointEntityCollection.values[4].point.color = Cesium.Color.fromCssColorString('#00ff0a') |                 // this.pointEntityCollection.values[4].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|                 this.pointEntityCollection.values[6].point.color = Cesium.Color.fromCssColorString('#ff0000') |                 // this.pointEntityCollection.values[6].point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |                 this.pointEntityCollection.values[4].billboard.image = greenImg | ||||||
|  |                 this.pointEntityCollection.values[6].billboard.image = redImg | ||||||
|               } |               } | ||||||
|               else { |               else { | ||||||
|                 this.pointEntityCollection.values[6].point.color = Cesium.Color.fromCssColorString('#00ff0a') |                 // this.pointEntityCollection.values[6].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|                 this.pointEntityCollection.values[4].point.color = Cesium.Color.fromCssColorString('#ff0000') |                 // this.pointEntityCollection.values[4].point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |                 this.pointEntityCollection.values[6].billboard.image = greenImg | ||||||
|  |                 this.pointEntityCollection.values[4].billboard.image = redImg | ||||||
|               } |               } | ||||||
|  |  | ||||||
|               radiansW = (Math.PI / 180) * angleW |               radiansW = (Math.PI / 180) * angleW | ||||||
| @ -1454,12 +1512,16 @@ class GroundSvg extends Base { | |||||||
|  |  | ||||||
|               if ((angleW > -360 && angleW < -90) || (angleW < 360 && angleW > 90)) { |               if ((angleW > -360 && angleW < -90) || (angleW < 360 && angleW > 90)) { | ||||||
|                 angleW = angleW + 180 |                 angleW = angleW + 180 | ||||||
|                 this.pointEntityCollection.values[6].point.color = Cesium.Color.fromCssColorString('#00ff0a') |                 // this.pointEntityCollection.values[6].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|                 this.pointEntityCollection.values[4].point.color = Cesium.Color.fromCssColorString('#ff0000') |                 // this.pointEntityCollection.values[4].point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |                 this.pointEntityCollection.values[6].billboard.image = greenImg | ||||||
|  |                 this.pointEntityCollection.values[4].billboard.image = redImg | ||||||
|               } |               } | ||||||
|               else { |               else { | ||||||
|                 this.pointEntityCollection.values[4].point.color = Cesium.Color.fromCssColorString('#00ff0a') |                 // this.pointEntityCollection.values[4].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|                 this.pointEntityCollection.values[6].point.color = Cesium.Color.fromCssColorString('#ff0000') |                 // this.pointEntityCollection.values[6].point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |                 this.pointEntityCollection.values[4].billboard.image = greenImg | ||||||
|  |                 this.pointEntityCollection.values[6].billboard.image = redImg | ||||||
|               } |               } | ||||||
|  |  | ||||||
|               radiansW = (Math.PI / 180) * angleW |               radiansW = (Math.PI / 180) * angleW | ||||||
| @ -1524,18 +1586,22 @@ class GroundSvg extends Base { | |||||||
|           } |           } | ||||||
|           for (let i = 0; i < this.pointEntityCollection.values.length; i++) { |           for (let i = 0; i < this.pointEntityCollection.values.length; i++) { | ||||||
|             if (pickPoint && this.pointEntityCollection.values[i].id === pickPoint.id) { |             if (pickPoint && this.pointEntityCollection.values[i].id === pickPoint.id) { | ||||||
|               pickPoint.point.color = Cesium.Color.fromCssColorString('#ffff00') |               // pickPoint.point.color = Cesium.Color.fromCssColorString('#ffff00') | ||||||
|  |               pickPoint.billboard.image = yellowImg | ||||||
|             } |             } | ||||||
|             else { |             else { | ||||||
|               switch (this.pointEntityCollection.values[i].id) { |               switch (this.pointEntityCollection.values[i].id) { | ||||||
|                 case 'svg-control-points_5': |                 case 'svg-control-points_5': | ||||||
|                   this.pointEntityCollection.values[i].point.color = Cesium.Color.fromCssColorString('#ffff00') |                   // this.pointEntityCollection.values[i].point.color = Cesium.Color.fromCssColorString('#ffff00') | ||||||
|  |                   this.pointEntityCollection.values[i].billboard.image = yellowImg | ||||||
|                   break |                   break | ||||||
|                 case 'svg-control-points_0': |                 case 'svg-control-points_0': | ||||||
|                   this.pointEntityCollection.values[i].point.color = Cesium.Color.fromCssColorString('#ff0000') |                   // this.pointEntityCollection.values[i].point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |                   this.pointEntityCollection.values[i].billboard.image = redImg | ||||||
|                   break |                   break | ||||||
|                 default: |                 default: | ||||||
|                   this.pointEntityCollection.values[i].point.color = Cesium.Color.fromCssColorString('#00ff0a') |                   // this.pointEntityCollection.values[i].point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |                   this.pointEntityCollection.values[i].billboard.image = greenImg | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           } |           } | ||||||
| @ -1550,7 +1616,8 @@ class GroundSvg extends Base { | |||||||
|           ) { |           ) { | ||||||
|             YJ.Global.CameraController(this.sdk, false) |             YJ.Global.CameraController(this.sdk, false) | ||||||
|             this.pickPoint = pickedObject.primitive._id |             this.pickPoint = pickedObject.primitive._id | ||||||
|             this.pickPoint.point.color = Cesium.Color.fromCssColorString('#ff0000') |             // this.pickPoint.point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |             this.pickPoint.billboard.image = redImg | ||||||
|             break |             break | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
| @ -1560,13 +1627,16 @@ class GroundSvg extends Base { | |||||||
|           YJ.Global.CameraController(this.sdk, true) |           YJ.Global.CameraController(this.sdk, true) | ||||||
|           switch (this.pickPoint.id) { |           switch (this.pickPoint.id) { | ||||||
|             case 'svg-control-points_4': |             case 'svg-control-points_4': | ||||||
|               this.pickPoint.point.color = Cesium.Color.fromCssColorString('#ffff00') |               // this.pickPoint.point.color = Cesium.Color.fromCssColorString('#ffff00') | ||||||
|  |               this.pickPoint.billboard.image = yellowImg | ||||||
|               break |               break | ||||||
|             case 'svg-control-points_9': |             case 'svg-control-points_9': | ||||||
|               this.pickPoint.point.color = Cesium.Color.fromCssColorString('#ff0000') |               // this.pickPoint.point.color = Cesium.Color.fromCssColorString('#ff0000') | ||||||
|  |               this.pickPoint.billboard.image = redImg | ||||||
|               break |               break | ||||||
|             default: |             default: | ||||||
|               this.pickPoint.point.color = Cesium.Color.fromCssColorString('#00ff0a') |               // this.pickPoint.point.color = Cesium.Color.fromCssColorString('#00ff0a') | ||||||
|  |               this.pickPoint.billboard.image = greenImg | ||||||
|           } |           } | ||||||
|           this.pickPoint = null |           this.pickPoint = null | ||||||
|         } |         } | ||||||
| @ -1610,11 +1680,14 @@ class GroundSvg extends Base { | |||||||
|       } |       } | ||||||
|       for (let i = 0; i < this.controlPoints.length; i++) { |       for (let i = 0; i < this.controlPoints.length; i++) { | ||||||
|         let color = '#00ff0a' |         let color = '#00ff0a' | ||||||
|  |         let img = greenImg | ||||||
|         if (i === 5) { |         if (i === 5) { | ||||||
|           color = '#ffff00' |           color = '#ffff00' | ||||||
|  |           img = yellowImg | ||||||
|         } |         } | ||||||
|         if (i === 0) { |         if (i === 0) { | ||||||
|           color = '#ff0000' |           color = '#ff0000' | ||||||
|  |           img = redImg | ||||||
|         } |         } | ||||||
|         let entity = this.sdk.viewer.entities.getOrCreateEntity('svg-control-points_' + i) |         let entity = this.sdk.viewer.entities.getOrCreateEntity('svg-control-points_' + i) | ||||||
|         entity.show = true |         entity.show = true | ||||||
| @ -1622,11 +1695,18 @@ class GroundSvg extends Base { | |||||||
|         entity.position = new Cesium.CallbackProperty(() => { |         entity.position = new Cesium.CallbackProperty(() => { | ||||||
|           return Cesium.Cartesian3.fromDegrees(...this.controlPoints[i]) |           return Cesium.Cartesian3.fromDegrees(...this.controlPoints[i]) | ||||||
|         }) |         }) | ||||||
|         entity.point = new Cesium.PointGraphics({ |         // entity.point = new Cesium.PointGraphics({ | ||||||
|           color: Cesium.Color.fromCssColorString(color), // 点的颜色 |         //   color: Cesium.Color.fromCssColorString(color), // 点的颜色 | ||||||
|           pixelSize: 10, // 点的大小 |         //   pixelSize: 10, // 点的大小 | ||||||
|  |         //   heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, | ||||||
|  |         //   scaleByDistance: new Cesium.NearFarScalar(0.0, 1.0, 1.0e10, 1.0), | ||||||
|  |         //   disableDepthTestDistance: Number.POSITIVE_INFINITY  // 不应用深度测试 | ||||||
|  |         // }) | ||||||
|  |         entity.billboard = new Cesium.BillboardGraphics({ | ||||||
|  |           image: img, | ||||||
|  |           width: 10, | ||||||
|  |           height: 10, | ||||||
|           heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, |           heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, | ||||||
|           scaleByDistance: new Cesium.NearFarScalar(0.0, 1.0, 1.0e10, 1.0), |  | ||||||
|           disableDepthTestDistance: Number.POSITIVE_INFINITY  // 不应用深度测试 |           disableDepthTestDistance: Number.POSITIVE_INFINITY  // 不应用深度测试 | ||||||
|         }) |         }) | ||||||
|         this.pointEntityCollection.add(entity) |         this.pointEntityCollection.add(entity) | ||||||
| @ -1848,7 +1928,7 @@ class GroundSvg extends Base { | |||||||
|     }) |     }) | ||||||
|     this.hierarchys = [...hierarchys] |     this.hierarchys = [...hierarchys] | ||||||
|  |  | ||||||
|     if (!this.entity) { |     if (!this.entity || !this.entity.values || this.entity.values.length == 0) { | ||||||
|       return |       return | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | |||||||
| @ -187,7 +187,7 @@ function html() { | |||||||
|         <div class="col"> |         <div class="col"> | ||||||
|           <span class="label">油耗</span> |           <span class="label">油耗</span> | ||||||
|           <div class="input-number input-number-unit-6" style="width: 170px;"> |           <div class="input-number input-number-unit-6" style="width: 170px;"> | ||||||
|             <input class="input" type="number" title="" min="1" max="99999999" @model="unitFuelConsumption"> |             <input class="input" type="number" title="" min="0" max="99999999" @model="unitFuelConsumption"> | ||||||
|             <span class="unit">L/100km</span> |             <span class="unit">L/100km</span> | ||||||
|             <span class="arrow"></span> |             <span class="arrow"></span> | ||||||
|           </div> |           </div> | ||||||
|  | |||||||
| @ -441,7 +441,6 @@ class YJEarth { | |||||||
|           textList[i].querySelector('textarea').focus() |           textList[i].querySelector('textarea').focus() | ||||||
|           _this.isLeftClick = true |           _this.isLeftClick = true | ||||||
|           _this.entityMap.get(_this.clickTextDom.id).isClick(movement.position, _this.clickTextDom.id) |           _this.entityMap.get(_this.clickTextDom.id).isClick(movement.position, _this.clickTextDom.id) | ||||||
|  |  | ||||||
|           _this.blurFun = () => { |           _this.blurFun = () => { | ||||||
|             // let { sdkP } = getSdk() |             // let { sdkP } = getSdk() | ||||||
|             // if (_this == sdkP && sdkP) {//二维 |             // if (_this == sdkP && sdkP) {//二维 | ||||||
| @ -449,7 +448,6 @@ class YJEarth { | |||||||
|             // } else if (!sdkP) { |             // } else if (!sdkP) { | ||||||
|             _this.entityMap.get(_this.clickTextDom.id).getwords(_this.clickTextDom.getElementsByTagName('textarea')[0].value) |             _this.entityMap.get(_this.clickTextDom.id).getwords(_this.clickTextDom.getElementsByTagName('textarea')[0].value) | ||||||
|             // } |             // } | ||||||
|  |  | ||||||
|             _this.clickTextDom.querySelector('textarea').removeEventListener('blur', _this.blurFun) |             _this.clickTextDom.querySelector('textarea').removeEventListener('blur', _this.blurFun) | ||||||
|           } |           } | ||||||
|           _this.clickTextDom.querySelector('textarea').addEventListener('blur', _this.blurFun) |           _this.clickTextDom.querySelector('textarea').addEventListener('blur', _this.blurFun) | ||||||
| @ -474,7 +472,7 @@ class YJEarth { | |||||||
|           click = true |           click = true | ||||||
|         } |         } | ||||||
|         mousemove = function (e) { |         mousemove = function (e) { | ||||||
|           if (!click) { |           if (!click || !_this.clickTextDom) { | ||||||
|             return |             return | ||||||
|           } |           } | ||||||
|           let width = _this.clickTextDom.clientWidth * 1 |           let width = _this.clickTextDom.clientWidth * 1 | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user