好了,我终于成功了,我的地图现在显示出来了,多亏了你们。我所做的是:
我将脚本的路径更改为绝对路径。实际上,使用相对URL是个坏主意我已经更改了脚本,现在看起来是这样的:
document.addEventListener("DOMContentLoaded", function()
{
map_init();
}, false);
var map;
function map_init(){
map = new OpenLayers.Map(\'basicMap\');
var mapnik = new OpenLayers.Layer.OSM();
var fromProjection = new OpenLayers.Projection("EPSG:4326");
// Transform from WGS 1984
var toProjection = new OpenLayers.Projection("EPSG:900913");
// to Spherical Mercator Projection
var centerPosition = new OpenLayers.LonLat(-85.00,38.00).transform( fromProjection, toProjection);
var zoom = 5;
map.addLayer(mapnik);
map.setCenter(centerPosition, zoom);
}
我删除了我在标题中声明的,因为它现在没用了。事实上,在我插件的php文件中,我放置了两个脚本,它可以正常工作,因为其中一个脚本捕捉到了页面的打开。
现在,我调用php文件,在该文件中,我的脚本是通过在页面上使用一个短代码来声明的。
然而,我尝试将脚本排队并从php页面中删除,但没有成功。我对这项技术不熟悉,还有什么需要我做的吗?下面是一段代码:
function add_scripts(){
wp_register_script(\'map_init\', \'/wp-content/plugins/Fidu-interactive-map/js/map_init.js\');
wp_register_script(\'OpenLayers\', \'/wp-content/plugins/Fidu-interactive-map/OpenLayers-2.13.1/OpenLayers.js\');
wp_enqueue_script(\'map_init\');
wp_enqueue_script(\'OpenLayers\');
}
add_action(\'wp_enqueue_scripts\', \'add_scripts\');