Maptalks中多种点所对应的坐标含义

1,Point:point类用于表示地图上的像素坐标(屏幕坐标),所以传入参数也是像素坐标:new maptalks.point(100,100)
2,Coordinate:coordinate类用于表示地图上的地理坐标,常用经纬度表示,所以传入参数也是经纬度坐标:new maptalks.coordinate(经度,纬度)
3,Projection.unproject方法:将像素坐标(或投影坐标)转换为地理坐标,所以传入需是point像素坐标。
4,Projection.project方法:用于将地理坐标转换为投影坐标,所以需要传入的是地理坐标。
5,registerMode时,creat传入的参数是投影坐标(projection)和一个点数组(prjCoord);但是绘制类LineString、Marker等时需要传入的是地理坐标,所以此时需要上述方法;prjCoord也是投影坐标
用法示例:

     // 初始化地图
        const map = new maptalks.Map('map', {
            center: [121.473701, 31.230416],
            zoom: 13,
            baseLayer: new maptalks.TileLayer('base', {
                urlTemplate: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
                subdomains: ['a', 'b', 'c']
            })
        });

        // 使用 containerPointToCoordinate 将容器坐标转换为地理坐标
        map.on('click', function (event) {
            const containerPoint = event.containerPoint;
            const coordinate = map.containerPointToCoordinate(containerPoint);
            console.log('Container Point:', containerPoint);
            console.log('Converted Coordinate:', coordinate);
        });

        // 使用 projection.unproject 将投影坐标转换为地理坐标
        const projection = map.getProjection();
        const projectedPoint = new maptalks.Point(20037508.34, 20037508.34); // Web Mercator 坐标
        const geographicCoordinate = projection.unproject(projectedPoint);
        console.log('Projected Point:', projectedPoint);
        console.log('Geographic Coordinate:', geographicCoordinate);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值