arcgis for javascript在FeatureLayer上添加文本信息

1、通过source构建FeatureLayer

const point = {
        type: 'point',
        longitude: 114.384697,
        latitude: 30.669599,
        spatialReference: { wkid: 4326 },
    };
    let graphic = new Graphic({
        geometry: point,
        attributes: { name: '123' },
    });
    let graphicsLayer = new GraphicsLayer();
    graphicsLayer.add(graphic);
    const featureLayer = new FeatureLayer({
        source: graphicsLayer.graphics,
        fields: [
            {
                name: 'ObjectID',
                alias: 'ObjectID',
                type: 'oid',
            },
            {
                name: 'name',
                alias: 'name',
                type: 'string',
            },
        ],
        objectIdField: 'ObjectID',
     

要根据地名获取图层的信息,需要进行以下步骤: 1. 创建一个地理编码器(geocoder)对象,以便将文本地址转换为地理坐标信息。 ``` var geocoder = new Geocoder({ // 设置地理编码服务的URL url: "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer" }); ``` 2. 使用地理编码器对象的 `addressToLocations()` 方法,将文本地址作为参数传入,并指定回调函数。当地理编码服务返回结果时,回调函数将被调用,并将位置信息数组作为参数传递给它。 ``` geocoder.addressToLocations({ address: "北京市海淀区中关村大街27号", outFields: ["*"], countryCode: "CN" }).then(function(response) { // 处理位置信息数组 console.log(response); }).otherwise(function(err) { console.error(err); }); ``` 3. 在回调函数中,使用位置信息数组中的第一个元素的坐标信息,创建一个查询(query)对象,以便从要素图层中获取与该位置相交或包含的要素。 ``` var query = new Query({ // 设置查询条件 geometry: response[0].location, spatialRelationship: Query.SPATIAL_REL_INTERSECTS, returnGeometry: true, outFields: ["*"] }); ``` 4. 创建一个要素图层查询(FeatureLayerQuery)对象,指定要查询的要素图层,并使用查询对象作为参数调用其 `queryFeatures()` 方法。当查询完成时,回调函数将被调用,并将要素集合作为参数传递给它。 ``` var featureLayer = new FeatureLayer({ // 设置要素图层的URL url: "https://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/World_Cities/FeatureServer/0" }); featureLayer.queryFeatures(query).then(function(featureSet) { // 处理要素集合 console.log(featureSet.features); }).otherwise(function(err) { console.error(err); }); ``` 通过以上步骤,就可以根据地名获取图层的信息了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值