zoukankan      html  css  js  c++  java
  • Google earth 画扇形

    //画一个扇形 半径,初始角度,旋转角度,纬度,经度,颜色,姓名
      function DrawShanxing(r, initDegree, Degree, lat, lon, color, name) {
      //创建一个画板可以让你开始画画
      var polygonPlacemark = ge.createPlacemark('');
      polygonPlacemark.setGeometry(ge.createPolygon(''));
      var outer = ge.createLinearRing('');
      polygonPlacemark.getGeometry().setOuterBoundary(outer);
      //设置扇形的颜色
      var style = ge.createStyle(name);
      style.getPolyStyle().getColor().set(color);
      style.getLineStyle().getColor().set('00ffffff');
      polygonPlacemark.setStyleSelector(style);
      //为画板添加事件
      google.earth.addEventListener(polygonPlacemark, 'click', function(event) { try{GAjax.getPlotInfo(name,callback);}catch(err){alert(err.description )} });
      //将画板加入到地图中
      ge.getFeatures().appendChild(polygonPlacemark);
      var coords = outer.getCoordinates();
      var bLat, bLng;
      //画一条边
      bLng = Math.cos(initDegree * 3.1415926 / 180) * r;
      bLat = Math.sin(initDegree * 3.1415926 / 180) * r;
      coords.pushLatLngAlt(lat + bLat, lon + bLng, 0);
      //画顶点
      coords.pushLatLngAlt(lat, lon, 0);
      //画二条边
      bLng = Math.cos(initDegree * 3.1415926 / 180 + Degree * 3.1415926 / 180) * r;
      bLat = Math.sin(initDegree * 3.1415926 / 180 + Degree * 3.1415926 / 180) * r;
      coords.pushLatLngAlt(lat + bLat, lon + bLng, 0);
      for (var i = 15; i > 0; i--) {
      bLng = Math.cos(initDegree *Math.PI / 180 + Degree / 15 * Math.PI / 180 * i) * r;
      bLat = Math.sin(initDegree * Math.PI / 180 + Degree / 15 * Math.PI / 180 * i) * r;
      coords.pushLatLngAlt(lat + bLat, lon + bLng, 0);
      }
      }
    但是这个方法有一个缺陷,就是地球是一个椭圆的,这样用经纬度画出的圆在赤道附近是正常的,但是越到两极越像椭圆。

  • 相关阅读:
    Springboot 报错 Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
    layui时间戳转日期踩坑
    前端 传入Date 为空的解决办法
    解决springdatajpa设置默认值保存null无效的问题
    2020-04-12工作记录
    js原型链继承的傻瓜式详解
    一个关于python装饰器参数的问题
    【转】Unicode utf8等编码类型的原理
    c/c++内存泄露的检测方法
    【转】什么是动态规划?动态规划的意义是什么
  • 原文地址:https://www.cnblogs.com/googlegis/p/2978833.html
Copyright © 2011-2022 走看看