如何在Codeigniter查看文件中使用Openlayers3库文件

时间:2018-10-27 11:07:33

标签: node.js codeigniter openlayers openlayers-3

当用户访问某个地方时,我试图在我的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应用程序中的特定视图页面上实现它。

感谢您的帮助。谢谢

1 个答案:

答案 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查找所有示例