当用户访问某个地方时,我试图在我的codeigniter中使用openlayers显示一些地图信息。
但是我仍然处于起步阶段。我知道这是一个愚蠢的问题,但我确实需要使用它。
我可以在main.js上使用Openlayer库(例如Vector,GeoJSON等),因为在他们的网站上通过运行node.js提到过。
但是在codeignite中,我想在特定的视图页面中使用它。因此,如何将这些js文件导入特定的视图页面。
假设我在root foler中有我的openlayer模块
Like
Porject
-- Application
-- openlayers_modules
//里面有ol文件夹。 -系统
-- stylesheets
-- index.php
通常,我们将其用作index.html和main.js,它们都位于根文件夹中。
我有点困惑如何使用它。
如果我在以下视图文件中使用这些js文件,例如: lightning.php ,则它显示为
<script type="text/javascript">
import Map from 'ol/Map.js';
import View from 'ol/View.js';
import GeoJSON from 'ol/format/GeoJSON.js';
import VectorLayer from 'ol/layer/Vector.js';
import VectorSource from 'ol/source/Vector.js';
import {Fill, Stroke, Style, Text} from 'ol/style.js';
未捕获的SyntaxError:意外的标识符
所以我的问题是我们如何在有节点js或没有节点js的codeigniter应用程序中的特定视图页面上实现它。
感谢您的帮助。谢谢
答案 0 :(得分:2)
在节点方面我无能为力。但是您可以在不使用节点的情况下执行此操作。只需将openalyer与CDN链接起来就可以了。
<link rel="stylesheet" href="https://openlayers.org/en/v3.20.1/css/ol.css" type="text/css">
<script src="https://openlayers.org/en/v3.20.1/build/ol.js"></script>
但是您不能使用最新版本的openlayer。而且代码也有些不同。即:
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
target: 'map',
controls: ol.control.defaults({
attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
collapsible: false
})
}),
view: new ol.View({
center: [0, 0],
zoom: 2
})
});
使用此link查找所有示例