代码之家  ›  专栏  ›  技术社区  ›  Peterhack

如何使用typescript和react在highmaps中为lat/long加载proj4

  •  0
  • Peterhack  · 技术社区  · 8 年前

    我想复制 this 使用typescript的react中的highmaps示例。但是,没有显示lat/long点,这似乎与proj4包有关,因为它在这个javascript中工作 demo .

    我试过一次了 live demo . 如果我按以下方式加载包,则不会使用它,但我不知道应该在何处调用它:

    import * as proj4 from "proj4";
    

    提前谢谢!

    2 回复  |  直到 8 年前
        1
  •  5
  •   daniel_s    8 年前

    海图需要 proj4 window ,因此您可以创建自己的文件,该文件将该包导出为一个模块,其代码如下:

    import proj4 from 'proj4';
    
    if (typeof window !== 'undefined') {
      window.proj4 = window.proj4 || proj4;
    }
    
    export default proj4;
    

    将其保存到另一个文件,例如“proj4”-模块.js'然后像这样导入:

    import './proj4-module'
    

    https://codesandbox.io/s/m4o2q0pzzy

        2
  •  -1
  •   Matt McCutchen    8 年前

    不管是好是坏,Highmaps似乎希望在全局对象上定义proj4。只需添加以下代码行:

    (window as any).proj4 = proj4;