# new LineString(options)
çº¿å‡ ä½•å¯¹è±¡
[ES5引入方å¼]:
zondy.geometry.LineString()
[ES6引入方å¼]:
import { LineString } from "@mapgis/webclient-common"
傿•°
åç§° | 类型 | 默认值 | æè¿° |
---|---|---|---|
options |
Object | æž„é€ å‚æ•° |
|
coordinates |
Array | [] | å‡ ä½•ç‚¹çš„åæ ‡æ•°ç»„,支æŒä»»æ„å•ä½ï¼Œå‚考示例:[çº¿å‡ ä½•å¯¹è±¡] |
spatialReference |
SpatialReference | new zondy.SpatialReference('EPSG:4326') | å‡ ä½•ç‚¹çš„ç©ºé—´å‚考系,默认4326ï¼Œå½“ä¸æ˜¯4326æ—¶è¯·æŒ‡å®šåæ ‡ç³»ï¼Œæ–¹ä¾¿è¿›è¡ŒæŠ•影转æ¢ï¼Œå‚考示例:[æŒ‡å®šåæ ‡ç³»] |
支æŒå¦‚下方法:
[1ã€èŽ·å–线上点][2ã€æ’入点到线上a>
[3ã€åˆ 除线上点]
[4ã€ä¿®æ”¹çº¿ä¸Šç‚¹]
[5ã€è¿”回å—符串]
[6ã€å¯¼å‡ºä¸ºOGCæœåŠ¡è¦æ±‚çš„xmlå—符串]
[7ã€è¿”回igs1.0çš„å‡ ä½•å¯¹è±¡]
[8ã€è¿”回IGS所对应的GeometryModuleåž‹]
[9ã€è¿”回Dots对象,仅包括多边形的外圈]
[10ã€é€šè¿‡ä¼ 入的jsonæž„é€ å¹¶è¿”å›žä¸€ä¸ªæ–°çš„å‡ ä½•å¯¹è±¡]
[11ã€å¯¼å‡ºä¸ºjson对象]
12ã€å…‹éš†å‡ 何对象
示例
åˆ›å»ºå‡ ä½•å¯¹è±¡
// ES5引入方å¼
const { LineString } = zondy.geometry
// ES6引入方å¼
import { LineString } from "@mapgis/webclient-common"
new LineString({
// 点数é‡å¿…须大于ç‰äºŽ2
coordinates: [
[100.0, 0.0],
[101.0, 1.0]
]
})
// ES5引入方å¼
const { LineString } = zondy.geometry
const { SpatialReference } = zondy
// ES6引入方å¼
import { LineString, SpatialReference } from "@mapgis/webclient-common"
new LineString({
// 点数é‡å¿…须大于ç‰äºŽ2
coordinates: [
[12929863.44711455, 3934286.575385226],
[12060733.232006868, 3377247.5680546067]
],
// 当䏿˜¯4326æ—¶è¯·æŒ‡å®šåæ ‡ç³»ï¼Œæ–¹ä¾¿è¿›è¡ŒæŠ•影转æ¢
spatialReference: new SpatialReference('EPSG:3857')
})
继承关系
æˆå‘˜å˜é‡
æˆå‘˜å˜é‡æ¦‚è¿°
åç§° | 类型 | æè¿° |
---|---|---|
coordinates |
Array
|
|
extensionOptions |
Object
|
|
extent |
Number
|
|
hasZ |
Boolean
|
|
spatialReference |
SpatialReference
|
|
type |
GeometryType
|
|
æˆå‘˜å˜é‡è¯¦æƒ…
# extensionOptions
åˆå§‹åŒ–图层的é¢å¤–傿•°ï¼Œå¯ä»¥é€šè¿‡è¯¥å‚æ•°ä¼ å…¥å¼•æ“ŽåŽŸç”Ÿçš„æž„é€ å‚æ•°
- Inherited From:
- Default Value:
- {}
方法
方法概述
åç§° | 返回值类型 | æè¿° |
---|---|---|
fromJSON |
|
|
clone |
Geometry
|
|
fromGeoJSON |
|
|
getGeometryType |
String
|
|
getIGSType |
|
|
getPoint |
Point
|
null
|
|
getType |
String
|
|
insertPoint |
LineString
|
|
off |
Object
|
|
on |
Object
|
|
removePoint |
Point
|
|
setPoint |
LineString
|
|
toDots |
|
|
toGeoJSON |
Object
|
|
toJSON |
Object
|
|
toOldIGSGeometry |
|
|
toString |
|
|
toXMl |
String
|
|
toXML |
String
|
|
方法详情
# static fromJSON(jsonopt)
é€šè¿‡ä¼ å…¥çš„jsonæž„é€ å¹¶è¿”å›žä¸€ä¸ªæ–°çš„å‡ ä½•å¯¹è±¡
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
json |
Object | JSON对象 |
示例
// ES5引入方å¼
const { LineString } = zondy.geometry
// ES6引入方å¼
import { LineString } from "@mapgis/webclient-common"
const json = {
// 点数é‡å¿…须大于ç‰äºŽ2
coordinates: [
[100.0, 0.0],
[101.0, 1.0]
]
}
const line = LineString.fromJSON(json)
# fromGeoJSON(GeoJSON)
导入GeoJSON
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
GeoJSON |
Object | Object |
- Inherited From:
# getPoint(pointIndex)
获å–线上点
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
pointIndex |
Number | æ•°ç»„ä¸‹æ ‡ |
点
示例
// ES5引入方å¼
const { LineString } = zondy.geometry
// ES6引入方å¼
import { LineString } from "@mapgis/webclient-common"
const lineString = new LineString({
// 点数é‡å¿…须大于ç‰äºŽ2
coordinates: [
[100.0, 0.0],
[101.0, 1.0]
]
})
const point = lineString.getPoint(0)
# insertPoint(pointIndex, point)
æ’入点到线上
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
pointIndex |
Number | æ•°ç»„ä¸‹æ ‡ |
point |
Point | Array.<Number> | 点 |
æ’入点åŽçš„线对象
示例
// ES5引入方å¼
const { LineString } = zondy.geometry
// ES6引入方å¼
import { LineString } from "@mapgis/webclient-common"
const lineString = new LineString({
// 点数é‡å¿…须大于ç‰äºŽ2
coordinates: [
[100.0, 0.0],
[101.0, 1.0]
]
})
lineString.insertPoint(1, [102.0, 2.0])
# off(typesopt, fnopt, contextopt)
移除事件
示例如下:
[1ã€ç§»é™¤ä¸€ä¸ªäº‹ä»¶çš„æŒ‡å®šå›žè°ƒå‡½æ•°]
[2ã€ç§»é™¤ä¸€ä¸ªäº‹ä»¶çš„æ‰€æœ‰å›žè°ƒå‡½æ•°]
[3ã€ç§»é™¤å¤šä¸ªäº‹ä»¶çš„åŒä¸€ä¸ªæŒ‡å®šçš„回调函数]
[4ã€ç§»é™¤å¤šä¸ªæŒ‡å®šäº‹ä»¶çš„回调函数]
[5ã€åˆ 除时指定上下文 - types类型为å—符串]
[6ã€åˆ 除时指定上下文 - types类型为对象]
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
types |
string | 移除指定事件类型上绑定的回调函数 |
fn |
function | 事件回调函数,当types为å—ç¬¦ä¸²ï¼Œä¸”ä¸æŒ‡å®šè¦åˆ é™¤çš„å›žè°ƒå‡½æ•°æ—¶ï¼Œåˆ é™¤è¯¥äº‹ä»¶ä¸Šçš„æ‰€æœ‰å›žè°ƒå‡½æ•° |
context |
Object | 事件回调函数的this关键å—将指å‘的对象 |
- Inherited From:
当å‰å®žä¾‹
示例
移除一个事件的指定回调函数
// 一个事件的回调函数
const clickFunction = function (event) {
console.log("点击事件:", event)
}
// 调用MapView或SceneView的off方法移除一个事件的回调函数
view.off('click', clickFunction)
移除一个事件的所有回调函数
// 一个事件的回调函数1
const clickFunction1 = function (event) {
console.log("点击事件1:", event)
}
// 一个事件的回调函数2
const clickFunction2 = function (event) {
console.log("点击事件2:", event)
}
// 调用MapView或SceneView的off方法移除一个事件的所有回调函数
// 䏿Œ‡å®šå›žè°ƒå‡½æ•°ï¼Œåˆ™ç§»é™¤è¯¥äº‹ä»¶ä¸Šçš„æ‰€æœ‰ç»‘定的回调函数
view.off('click')
移除多个事件的åŒä¸€ä¸ªæŒ‡å®šçš„回调函数
// 多个事件的åŒä¸€ä¸ªå›žè°ƒå‡½æ•°
const eventFunction = function (event) {
console.log("事件:", event)
}
// 调用MapView或SceneViewçš„off方法移除多个事件的åŒä¸€ä¸ªæŒ‡å®šçš„回调函数
view.off('click double-click', eventFunction)
移除多个指定事件的回调函数
// 一个事件的回调函数
const clickFunction = function (event) {
console.log("click事件:", event)
}
// 调用MapView或SceneView的off方法移除多个指定事件的回调函数
view.off({
// 移除click事件上一个指定的函数
"click": clickFunction,
// 移除double-click上所有指定的函数
"double-click": undefined
})
åˆ é™¤æ—¶æŒ‡å®šä¸Šä¸‹æ–‡ - types类型为å—符串
// 一个事件的回调函数
const clickFunction = function (event) {
console.log("点击事件:", event)
}
// 调用MapView或SceneView的off方法移除一个事件的回调函数
view.off('click', clickFunction, view)
// 调用MapView或SceneView的off方法移除一个事件的所有回调函数
view.off('click', undefined, view)
åˆ é™¤æ—¶æŒ‡å®šä¸Šä¸‹æ–‡ - types类型为对象
// 一个事件的回调函数
const clickFunction = function (event) {
console.log("click事件:", event)
}
// 调用MapView或SceneView的off方法移除多个指定事件的回调函数
view.off({
// 移除click事件上一个指定的函数
"click": clickFunction,
// 移除double-click上所有指定的函数
"double-click": undefined
}, view)
# on(typesopt, fnopt, contextopt)
注册一个新的监å¬äº‹ä»¶;
示例如下:
[1ã€æ³¨å†Œä¸€ä¸ªäº‹ä»¶]
[2ã€ä¸€æ¬¡æ³¨å†Œå¤šä¸ªäº‹ä»¶ - åŒä¸€ä¸ªå›žè°ƒå‡½æ•°]
[3ã€ä¸€æ¬¡æ³¨å†Œå¤šä¸ªäº‹ä»¶ - 分别指回调应函数]
[4ã€å½“types为å—符串时 - 指定上下文]
[5ã€å½“types为对象时 - 指定上下文]
傿•°
åç§° | 类型 | 默认值 | æè¿° |
---|---|---|---|
types |
String | Object | null | 事件类型 |
fn |
function | null | 事件回调函数 |
context |
Object | null | 事件回调函数的this关键å—将指å‘的对象 |
- Inherited From:
当å‰å®žä¾‹
示例
注册一个事件
// åˆå§‹åŒ–一个点击事件回调函数
const clickFunction = function (event) {
console.log("点击事件:", event)
}
// 调用MapView或SceneView的on方法注册一个点击事件
view.on('click', clickFunction)
一次注册多个事件 - åŒä¸€ä¸ªå›žè°ƒå‡½æ•°
// åˆå§‹åŒ–一个事件回调函数
const eventFunction = function (event) {
console.log("事件:", event)
}
// 调用MapView或SceneView的on方法注册多个事件
// 多个事件类型使用åŒä¸€ä¸ªå›žè°ƒå‡½æ•°
view.on('click right-click-down', eventFunction)
一次注册多个事件 - 分别指回调应函数
// åˆå§‹åŒ–一个左键点击事件回调函数
const clickFunction = function (event) {
console.log("click事件:", event)
}
// åˆå§‹åŒ–一个å³é”®æŒ‰ä¸‹äº‹ä»¶å›žè°ƒå‡½æ•°
const rightClickFunction = function (event) {
console.log("right-click-down事件:", event)
}
// 调用MapView或SceneView的on方法注册多个事件
// æ¯ä¸€ä¸ªäº‹ä»¶ç±»åž‹ï¼Œä½¿ç”¨å•独的回调函数
// 注æ„使用æ¤ç§æ–¹å¼ï¼Œä¸€ç§ç±»åž‹çš„事件仅能指定一个回调函数
view.on({
"click": clickFunction,
"right-click-down": rightClickFunction
})
指定上下文 - types类型为å—符串
// åˆå§‹åŒ–一个点击事件回调函数
const clickFunction = function (event) {
console.log("点击事件:", event)
console.log("上下文对象:", this)
}
// 调用MapView或SceneView的on方法注册一个点击事件
// 指定view为回调函数的上下文对象
view.on('click', clickFunction, view)
指定上下文 - types类型为对象
// åˆå§‹åŒ–一个点击事件回调函数
const clickFunction = function (event) {
console.log("点击事件:", event)
console.log("上下文对象:", this)
}
// 调用MapView或SceneView的on方法注册一个点击事件
// 指定view为回调函数的上下文对象
view.on({
"click": clickFunction,
"right-click-down": clickFunction
}, view)
# removePoint(pointIndex)
åˆ é™¤çº¿ä¸Šç‚¹
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
pointIndex |
Number | æ•°ç»„ä¸‹æ ‡ |
åˆ é™¤ç‚¹
示例
// ES5引入方å¼
const { LineString } = zondy.geometry
// ES6引入方å¼
import { LineString } from "@mapgis/webclient-common"
const lineString = new LineString({
// 点数é‡å¿…须大于ç‰äºŽ2
coordinates: [
[100.0, 0.0],
[101.0, 1.0]
]
})
lineString.removePoint(0)
# setPoint(pointIndex, point)
修改线上点
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
pointIndex |
Number | æ•°ç»„ä¸‹æ ‡ |
point |
Point | Array.<Number> | 点 |
修改åŽçš„线对象
示例
// ES5引入方å¼
const { LineString } = zondy.geometry
// ES6引入方å¼
import { LineString } from "@mapgis/webclient-common"
const lineString = new LineString({
// 点数é‡å¿…须大于ç‰äºŽ2
coordinates: [
[100.0, 0.0],
[101.0, 1.0]
]
})
lineString.setPoint(0, [11.0, 1.2])