美文网首页
openlayers5实战--踩坑总结

openlayers5实战--踩坑总结

作者: 不玩了啊 | 来源:发表于2020-09-10 11:45 被阅读0次

openlayers5实战--踩坑总结

1.接口返回圆心坐标和半径,直接通过new Circle(center,radius)添加圆形feature变小问题。

  解决办法:

  new  Feature()的geometry参数不能直接赋值new  Circel()得到的geometry,

要通过‘ol/geom/Polygon.js’中的fromCircle方法将new  Circel()得到的geometry转化一遍然后赋值给new  Feature()的geometry。

  另:如果接口直接返回的坐标点画圆,则使用‘ol/geom/Polygon.js’中的circular方法。

import {circular as circularPolygon, fromCircle as fromCirclePolygon} from CC;

1

2

3

4

eg1:<br>let lng = parseFloat(d[0].lng);

let lat = parseFloat(d[0].lat);

let radius = parseFloat(d[0].radius);

let circle = new Circle(transform([lng, lat], 'EPSG:4326', 'EPSG:3857'), radius);

1

2

3

4

5

6

7

feature = new Feature({

   position: transform([lng, lat], 'EPSG:4326', 'EPSG:3857'),

   radius: radius,

   type: 'circle',

   id: 'N',

   geometry: fromCirclePolygon(circle)

})<br><br>eg2:

let lng = item.coordinateList[0].lng;

let lat = item.coordinateList[0].lat;

let radius = item.coordinateList[0].radius;

let circle4326 = circularPolygon([lng, lat],radius,64);

let circle3857 = circle4326.clone().transform('EPSG:4326', 'EPSG:3857');

feature = new Feature(circle3857);

1<br><br>

2.测距不准问题。

  解决办法:

  使用'ol/sphere.js'中的getLength()方法计算。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

/*格式化测量长度

       *@params line:  type geometry

       */

      formatLength (line) {

        //定义长度变量

        let length = getLength(line);

        let output;

        if(length > 100) {

          output = `${(Math.round(length / 1000 * 100) / 100)} 公里`;

        } else{

          output = `${(Math.round(length * 100) / 100)} 米`;

        }

        return output;

      },

标签: openlayers5、openlayers测距

相关文章

  • openlayers5实战--踩坑总结

    openlayers5实战--踩坑总结 1.接口返回圆心坐标和半径,直接通过new Circle(center,r...

  • Flutter 开发记录

    Flutter 开发踩坑记录(干货总结)

  • 个人博客标签分类

    【小结】零碎的小结 【踩坑记录】报错等记录,防止再度踩坑 【总结】比较完整的总结 【想法】自己的一些想法和推论 【...

  • Android插件化热修复

    项目实战之插件化VirtualAPK 使用滴滴插件化方案 VirtualApk 源码解析VirtualAPK 踩坑...

  • Taro 实战踩坑

    Taro 引用相对路径图片 直接将相对路径放在src属性中,不起作用,需要先import进来,最好把图片放到服务器...

  • AIDL踩坑实战

    AIDL理论 AIDL(Android 接口定义语言)可以利用它定义客户端与服务使用进程间通信 (IPC) 进行相...

  • 509/1000:在jenkins中拉取git仓库代码的踩坑

    最近两天,在做jenkins中拉取git仓库代码,踩了不少坑,在对象的协助下,顺利出坑,现在总结踩坑经历。首先,最...

  • 踩坑总结

    IE的margin-top和chrome的margin-top不一致,为了兼容IE8,有的人采用在CSS样式后加上...

  • 踩坑总结

    掐指一算,上任产品半年多了,期间基本属于没人管的状态,独立背2个锅,产品设计+项目管理+小团队,基本上各种各样的坑...

  • 踩坑总结

    1、数组去重使用 distinctUnionOfObjects.self 去重后会吧可变数组变为不可变数组,...

网友评论

      本文标题:openlayers5实战--踩坑总结

      本文链接:https://www.haomeiwen.com/subject/nqxpektx.html