我正在以动态的方式映射某些位置,我将我的代码基于Googlemaps的示例,在此示例中,他们使用外部文件(周)静态映射位置,您可以在其中写入对函数的调用,一个在线初始化和映射函数,如下所示:
function initialize() {
map = new google.maps.Map(document.getElementById('map_canvas'), {
zoom: 16,
center: new google.maps.LatLng(19.43,-99.15),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var script = document.createElement('script');
script.src = 'week';
document.getElementsByTagName('head')[0].appendChild(script);
}
function eqfeed_callback(results){
mapping code
}
外部文件的周内容是:
eqfeed_callback({"type":"FeatureCollection","features":[{feature01, feature02,... feature_n}]});
我能够生成dinamically周的功能内容(事实上,整个内容,具有相同的结构),但现在我需要将它传递给初始化函数,现在这是全局的值变量而不是外部文件的内容,我做的是重写initialize作为参数依赖函数,以使其等待生成参数,如下所示:
function initialize(scriptSource){
map = new google.maps.Map(document.getElementById('map_canvas'), { zoom: 16, center: new google.maps.LatLng(19.43,-99.15), mapTypeId:google.maps.MapTypeId.ROADMAP});
var script = document.createElement('script');
script.src = scriptSource;
document.getElementsByTagName('head')[0].appendChild(script);
}
当调用initialize时,scriptSource将是一个全局变量的值,其值与外部文件的内容完全相同(但现在以dinamically方式生成);我一直试图让它工作,但我认为我传递src的方式有问题,我该如何正确地做到这一点?
答案 0 :(得分:1)
您似乎尝试将javascript加载到脚本标记中。
而不是设置src
成员,而是设置innerHtml
。
src
成员是actually the url,而不是脚本标记的内容。
另外,要对设置src
的其他地方感到厌倦。
script.src = 'week';
不能用作uri
script.src = 'week.js';
将作为uri