Я пытаюсь интегрировать 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, а не карты.
Задача ещё не решена.
Других решений пока нет …