解决方法:删除导出文件中的html代码中js部分的json数据settings - > editor.map -> zoomControl -> target


pixelmap很好的地图绘制网站,无需注册等麻烦事,简约实用,论文需要,这个网站真是挺好的,但是

我真吃了柠檬。pixelmap这个网站说是能导出绘制后地图的html文件,但是下载后无法打开。js文件控制台报错。

e.scale is not function

这是json文件的某个配置没有定义导致的

我疯狂翻阅了官方文档以及各种社区都没有找到解决方案。
但是官方文档在地图的使用上全是gif演示,还是挺不错的:https://www.amcharts.com/embedding-interactive-maps-created-with-map-editor/

我开始以为是cdn加载的js文件有问题,但是我使用官方的配置代码后,可以正常显示,经过一段控制变量,逐每个配置寻找,终于找到了json文件中的罪魁祸首:settings - > editor.map -> zoomControl -> target

删除了该配置就可以正常渲染了,官方示例中是没有这个target配置的。
map.png

每次保存地图后,导出html前在那个json中删除这个target就好了。或者导出后自行删除html中该部分代码。

......
    "editor.map": {
      "minZoomLevel": 0.8,
      "projection": "geoMercator",
      "panX": "rotateX",
      "zoomControl": {
        "type": "ZoomControl",
        "settings": {
          "visible": true,
          "position": "absolute",
          "layout": {
            "type": "VerticalLayout"
          },
          "themeTags": [
            "zoomtools"
          ],
          "layer": 30,
          "target": "chartdiv"
        }
      },
........
}

对了,使用该地图请注意,中国地图绘制的有问题,谨慎使用!!