Слои карты OpenLayers / Mapnik не отображаются при помещении в файл представления Yii

Я пытаюсь интегрировать php-файл, который был написан другим программистом, в мое веб-приложение yii, добавив этот код в мой файл вида:

    include 'folder/myfile.php';

папка находится в одном каталоге с моим веб-приложением, проблем с каталогами нет, также все необходимые файлы javascript связаны в myfile.php, включая OpenLayers.js.

и myfile.php имеет следующий код для отображения карты на основе тайлов mapnik и osm:

    <body onload="init();">
<div style="width:40%; height:90%;" id="map"> </div>

init () — это функция в файле javascript, связанная с myfile.php и имеющая следующий код:

    function init() {
console.log("map initializing......");

map = new OpenLayers.Map ("map", {
controls:[
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.Permalink(),
new OpenLayers.Control.ScaleLine({geodesic: true}),
new OpenLayers.Control.Permalink('permalink'),
new OpenLayers.Control.MousePosition(),
new OpenLayers.Control.Attribution()],
maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
maxResolution: 156543.0339,
numZoomLevels: 5,
units: 'm',
projection: new OpenLayers.Projection("EPSG:900913"),
displayProjection: new OpenLayers.Projection("EPSG:4326")
} );

// This is the layer that uses the locally stored tiles
var newLayer = new OpenLayers.Layer.OSM("Local Tiles", "tiles/${z}/${x}/${y}.png", {numZoomLevels: 19});
map.addLayer(newLayer);
console.log("osm tiles added");

var layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
console.log(map.addLayer(layerMapnik));
console.log("mapnik layer added");
}

как вы можете видеть, я поместил console.logs, чтобы я мог проверить в консоли, действительно ли работает код, и все эти console.logs показаны в моей консоли. поэтому init () на самом деле работает. Я также попытался сделать console.log (map.addLayer (newLayer)); и это показывает «правда» в моей консоли

Запуск myfile.php в localhost работает совершенно нормально и отображает карту в моем браузере, но когда я сделал все вышеупомянутые вещи, чтобы я мог также показать ее на своей странице yii, отображаются только текст и кнопки в myfile.php, а не карты.

Я проверил вкладку ресурсов в инструментах разработчика и вижу, что плитки загружены (index.php — это файл представления, в который я помещаю include ‘folder / myfile.php’;

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]