美文网首页
2019-01-17 把点转换为LatLng

2019-01-17 把点转换为LatLng

作者: 1e6c2b3901b0 | 来源:发表于2019-01-17 11:40 被阅读0次
    1. 参数类型的判断:object、数组、某个类的实例、是否为空
    2. 对象属性的判断:是否包含某个属性,在条件表达式中的使用
    export function toLatLng(a, b, c) {
      // 若a是LatLng对象
      if (a instanceof LatLng) {
        return a;
      }
      // 若a是数组,并且a[0]不是object(对象)
      if (Util.isArray(a) && typeof a[0] !== "object") {
        //若a的数组长度为3,即可能包含的是:纬度,纬度和高度
        if (a.length === 3) {
          return new LatLng(a[0], a[1], a[2]);
        }
        // 若a的数组长度是2,即可能包含的是:纬度,纬度
        if (a.length === 2) {
          return new LatLng(a[0], a[1]);
        }
        return null;
      }
      // 若a为空
      if (a === undefined || a === null) {
        return a;
      }
      // 若a是对象,并且包含lat属性
      if (typeof a === "object" && "lat" in a) {
        // 注意如何对对象的属性进行判断
        return new LatLng(a.lat, "lng" in a ? a.lng : a.lon, a.alt);
      }
      // 若未定义则返回
      if (b === undefined) {
        return null;
      }
      return new LatLng(a, b, c);
    }
    

    相关文章

      网友评论

          本文标题:2019-01-17 把点转换为LatLng

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