# new MultiPoint(options)
å¤šç‚¹å‡ ä½•å¯¹è±¡
[ES5引入方å¼]:
Zondy.Geometry.MultiPoint()
[ES6引入方å¼]:
import { MultiPoint } from "@mapgis/webclient-common"
傿•°
åç§° | 类型 | 默认值 | æè¿° |
---|---|---|---|
options |
Object | æž„é€ å‚æ•° |
|
coordinates |
Array.<Number> | [] | å‡ ä½•ç‚¹çš„åæ ‡ï¼Œæ”¯æŒä»»æ„å•ä½ï¼Œå‚考示例:[å¤šç‚¹å‡ ä½•å¯¹è±¡] |
spatialReference |
SpatialReference | new Zondy.SpatialReference('EPSG:4326') | å‡ ä½•ç‚¹çš„ç©ºé—´å‚考系,默认4326ï¼Œå½“ä¸æ˜¯4326æ—¶è¯·æŒ‡å®šåæ ‡ç³»ï¼Œæ–¹ä¾¿è¿›è¡ŒæŠ•影转æ¢ï¼Œå‚考示例:[æŒ‡å®šåæ ‡ç³»] |
支æŒå¦‚下方法:
[1ã€æ·»åŠ ç‚¹åæ ‡][2ã€è¿”回指定索引处的点]
[3ã€ä»Žå¤šç‚¹ä¸ç§»é™¤ä¸€ä¸ªç‚¹]
[4ã€æ›´æ–°æŒ‡å®šç´¢å¼•处的点]
[5ã€è¿”回IGS所对应的GeometryModuleåž‹]
[6ã€è¿”回igs1.0çš„å‡ ä½•å¯¹è±¡]
[7ã€è¿”回å—符串]
[8ã€è¿”回Dots对象,仅包括多边形的外圈] [9ã€é€šè¿‡ä¼ 入的jsonæž„é€ å¹¶è¿”å›žä¸€ä¸ªæ–°çš„å‡ ä½•å¯¹è±¡]
[10ã€å¯¼å‡ºä¸ºjson对象]
11ã€å…‹éš†å‡ 何对象
示例
åˆ›å»ºå‡ ä½•å¯¹è±¡
// ES5引入方å¼
const { MultiPoint } = Zondy.Geometry
// ES6引入方å¼
import { MultiPoint } from "@mapgis/webclient-common"
new MultiPoint({
coordinates:[
// 第一个点
[100, 0.0],
// 第二个点
[101, 1.0]
]
})
æŒ‡å®šåæ ‡ç³»
// ES5引入方å¼
const { Point } = Zondy.Geometry
const { SpatialReference } = Zondy
// ES6引入方å¼
import { Point, SpatialReference } from "@mapgis/webclient-common"
new Point({
// 现在为3857åæ ‡ç³»
coordinates:[
// 第一个点
[12929863.44711455, 3934286.575385226],
// 第二个点
[12060733.232006868, 3377247.5680546067]
],
// 当䏿˜¯4326æ—¶è¯·æŒ‡å®šåæ ‡ç³»ï¼Œæ–¹ä¾¿è¿›è¡ŒæŠ•影转æ¢
spatialReference: new SpatialReference('EPSG:3857')
})
继承关系
æˆå‘˜å˜é‡
æˆå‘˜å˜é‡æ¦‚è¿°
åç§° | 类型 | æè¿° |
---|---|---|
coordinates |
Array
|
|
extent |
Number
|
|
hasZ |
Boolean
|
|
spatialReference |
SpatialReference
|
|
æˆå‘˜å˜é‡è¯¦æƒ…
方法
方法概述
方法详情
# static fromJSON(jsonopt)
é€šè¿‡ä¼ å…¥çš„jsonæž„é€ å¹¶è¿”å›žä¸€ä¸ªæ–°çš„å‡ ä½•å¯¹è±¡
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
json |
Object | JSON对象 |
示例
// ES5引入方å¼
const { MultiPoint } = Zondy.Geometry
// ES6引入方å¼
import { MultiPoint } from "@mapgis/webclient-common"
const json = {
coordinates:[
// 第一个点
[100, 0.0],
// 第二个点
[101, 1.0]
]
}
const multiPoint = MultiPoint.fromJSON(json)
# addPoint(point, modeopt)
æ·»åŠ ç‚¹åæ ‡ï¼Œå¯ä»¥ä¸ºPoint对象ã€[x, y, z(å¯é€‰)]数组ã€Point对象数组ã€[x, y, z(å¯é€‰)]对象数组
傿•°
åç§° | 类型 | 默认值 | æè¿° |
---|---|---|---|
point |
Point | Array.<Number> | å¯ä»¥æ˜¯point,也å¯ä»¥æ˜¯è¡¨ç¤ºXYåæ ‡çš„æ•°å—数组 |
|
mode |
String | 'add' | æ·»åŠ æ¨¡å¼ï¼Œadd:æ£å¸¸æ·»åŠ ï¼Œdeduplication:去除é‡å¤ç‚¹ |
多点对象
示例
// ES5引入方å¼
const { MultiPoint } = Zondy.Geometry
// ES6引入方å¼
import { MultiPoint } from "@mapgis/webclient-common"
const multiPoint = new MultiPoint({
coordinates:[
// 第一个点
[100, 0.0],
// 第二个点
[101, 1.0]
]
})
multiPoint.addPoint([102,2.0])
# contains(point)
判æ–多点对象是å¦åŒ…嫿Ÿä¸€ä¸ªç‚¹
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
point |
Point | Array.<Number> | 点对象 |
是å¦åŒ…å«
# fromGeoJSON(GeoJSON)
导入GeoJSON
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
GeoJSON |
Object | Object |
- Inherited From:
# getPoint(index)
返回指定索引处的点
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
index |
Number | 点对象 |
åœ¨æŒ‡å®šä¸‹æ ‡å¤„çš„ç‚¹
示例
// ES5引入方å¼
const { MultiPoint } = Zondy.Geometry
// ES6引入方å¼
import { MultiPoint } from "@mapgis/webclient-common"
const multiPoint = new MultiPoint({
coordinates:[
// 第一个点
[100, 0.0],
// 第二个点
[101, 1.0]
]
})
const point = multiPoint.getPoint(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(index)
从多点ä¸ç§»é™¤ä¸€ä¸ªç‚¹ã€‚索引指定è¦åˆ 除的点
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
index |
Number | 点对象 |
返回被移除的点
示例
// ES5引入方å¼
const { MultiPoint } = Zondy.Geometry
// ES6引入方å¼
import { MultiPoint } from "@mapgis/webclient-common"
const multiPoint = new MultiPoint({
coordinates:[
// 第一个点
[100, 0.0],
// 第二个点
[101, 1.0]
]
})
const point = multiPoint.removePoint(0)
# setPoint(index, point)
更新指定索引处的点
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
index |
Number | 点在points属性ä¸çš„索引 |
point |
Point | Array.<Number> | 在新ä½ç½®æŒ‡å®šçš„å‡ ä½•ç‚¹ |
返回更新åŽçš„多点
示例
// ES5引入方å¼
const { MultiPoint } = Zondy.Geometry
// ES6引入方å¼
import { MultiPoint } from "@mapgis/webclient-common"
const multiPoint = new MultiPoint({
coordinates:[
// 第一个点
[100, 0.0],
// 第二个点
[101, 1.0]
]
})
multiPoint.setPoint(1, [103, 3.0])