首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在OpenLayers3中获得相对URL

无法在OpenLayers3中获得相对URL
EN

Stack Overflow用户
提问于 2016-02-21 19:30:57
回答 1查看 255关注 0票数 1

经过三天的徒劳寻找(学习书籍OpenLayers3,Javascript和互联网),我在这里提出了我的问题。

问题是我无法得到相对的url在OpenLayers3中工作。这里我举一个例子:

在一个名为sandbox的地图/目录中有一个OpenLayersscript。这个脚本的HTML部分中的相对url正在工作,包括javascript到ol.js中的相对url。

问题是脚本的Javascript部分中的相对url不能工作。只有当目标文件(nutsv9_lea.geojson)位于包含OpenLayersscript本身的映射/目录下的映射/目录中时,它才能工作,但只在火狐中工作,而不是在Google和InternetExplorer中。

映射沙箱(包含此OpenLayersfile)位于映射/目录结构中: C:/ol3_samples/sandbox,目标文件(nutsv9_lea.geojson)位于映射/目录结构中:C:/OL3_samples/assets/data/nusv9_lea.Geojson

我使用的相对url是: url:‘../assets/data/nutsv9 9_lea.Geojson’

唯一的工作解决方案(上面只在Firefox中提到)是一个相对的url,目标指向地图/目录结构中的一个名为'data‘的底层地图/目录,其中包含目标文件: url:’data/nutsv9 9_lea.Geojson‘。

我做错什么了还是忽略了?

代码语言:javascript
复制
<script>

  var vectorSource = new ol.source.GeoJSON({
    projection: 'EPSG:3857',

    //not working relative url:
    //  url: '../assets/data/nutsv9_lea.geojson'

    //working url (with the targetfile in a directory below the directory containing this script) but only working in Firefox and not working in Chrome and InternetExplorer
    url: 'data/nutsv9_lea.geojson'
  });

  var vectorLayer = new ol.layer.Vector({
    source: vectorSource
  });

  var center = ol.proj.transform([5.231819, 52.091852], 'EPSG:4326', 'EPSG:3857');

  var view = new ol.View({
    center: center,
    zoom: 5
  });

  var map = new ol.Map({
    target: 'map',
    layers: [vectorLayer],
    view: view
  });
</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-05 15:54:01

我是这本书的作者之一,这本书是摘录的来源。您需要运行本地服务器(通过http://而不是file://).提供文件)

你只需要看第117页。

它告诉您可以运行(只要您有Python)

python -m SimpleHTTPServer或如果您从Packt网站获得示例,请运行(如果有节点)

node index.js

对于NodeJS和Python,都有安装说明(第417和418页),

对于Python和不拥有这本书的人,请访问http://docs.python-guide.org/en/latest/starting/installation/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35540927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档