首页 / 浏览问题 / 组件GIS / 问题详情
iclient 9D 的Echarts折线图例子出现错误
4EXP 2018年06月05日

一、环境:

1:eclipse(oxygen.2)java EE IDE

2: jdk10.0.1

3:  Tomcat 8.5

4: 使用产品: iClient9D for openlayer操作系统:win7 x64   iClient9D for openlayer

二、运行后出现错误

1: TypeError: targetScript is undefined

2: TypeError: window.resources is undefined

三、 问题详细描述:

http://iclient.supermapol.com/examples/openlayers/editor.html#echartsLineMarker

按照官方上述例子,复制代码后,修改路径。浏览器中出现了地图,但是不出现ECharts折线图。

错误信息如上

并且在尝试IClient for leaflet和iClent for Classic均出现第一个错误,另一个错误不定

望各路大师给予帮助解答,谢谢!

//locallization.js
/***
 * 该文件用来根据语言环境加载相应的示例页面文本提示
 * notice:
 * 1.依赖jQuery
 * 2.配置:依赖locales目录,具体的文本键值对在locales下的resources.js文件中配置。
 * 3.使用:在具体的示例页使用键值对,命名空间为resources.
 *   如 alert(resources.msg_tip),alert(resources.text_btn)
 */
var Localization = {
    //初始化加载国际化资源文件
    initializeI18N: null,
    //执行翻译替换
    localize: null,
    //挂在全局变量
    initGlobal: null
};
(function (nameSpace, $) {
    var targetScript = (function () {
        var r = new RegExp("(^|(.*?\\/js\\/))(localization\.js)(\\?|$)"),
            s = document.getElementsByTagName('script');
        for (var i = 0; i < s.length; i++) {
            var src = s[i].getAttribute('src');
            if (src && src.match(r)) {
                return s[i];
            }
        }
    })();


    function initializeI18N(path, callback) {
        var localPath = path + "./locales",
            file = "/resources.js";

        var filePathMap = {
            "en-US": localPath + "/en-US" + file,
            "zh-CN": localPath + "/zh-CN" + file
        };

        //脚本加载完成标志
        var lang = utils.getLanguage();
        inputScript(filePathMap[lang], function () {

            i18next.init({
                lng: lang,
                whitelist: ["zh-CN", "en-US"],
                fallbackLng: ["zh-CN", "en-US"]
            });

            i18next.addResourceBundle(lang, 'translation', window.resources);

            callback && callback();
        });

    }

    //国际化dom中的文本
    function localize() {
        jqueryI18next.init(i18next, $);
        $("html").localize();//翻译页面所有含data-i18n属性的标签的文本
    }

    //全局变量挂载
    function initGlobal(root) {
        var rootNameSpace = root || window;
        if (rootNameSpace.resources) {
            rootNameSpace.oldResources = rootNameSpace.resources;
        }
        //example只开放资源映射到resources字段
        var resources = i18next.getResourceBundle(utils.getLanguage());
        rootNameSpace.resources = resources && resources.resources;
    }

    //插入script
    function inputScript(url, callback) {
        var script = document.createElement("script");
        script.type = "text/javascript";
        if (script.readyState) { //for IE
            script.onreadystatechange = function () {
                if (script.readyState === "loaded" || script.readyState === "complete") {
                    script.onreadystatechange = null;
                    callback && callback();
                }
            };
        } else { //for Others
            script.onload = function () {
                callback && callback();
            };
        }
        script.src = url;
        targetScript.parentElement.insertBefore(script, targetScript);
    }

    nameSpace.initializeI18N = initializeI18N;
    nameSpace.localize = localize;
    nameSpace.initGlobal = initGlobal;
})(Localization, jQuery);

1个回答

您好,应该是对应的include里面没有写对对应的地址,您手动修改include中调用各个文件的url路径修改成js文件相对html的路径即可;还有也需要查看下调用的位置里面是否有对饮的js文件,如果没有可以官网中下载。
1,695EXP 2018年06月06日
非常感谢您的解答,我将resource.js引入后解决了第二个错误,但是第一个错误还是没能解决,但此时已不影响显示了,例子的功能都已实现。

为解决第一个问题我将localization.js引入但并没有作用,例子上的引入路径都已改正了,还请大神再次指点一二,谢谢!
老哥,这个js到哪找啊,我也遇到了这个问题,但是找不到啊
老哥,这个js到哪找
...