CottZheng 2017-03-28 08:07 采纳率: 50%
浏览 1275
已采纳

矢量地图切片中XMLHttpRequest cannot load如何解决?

控制台报错
如图,用geoserver发布了geojson格式的矢量地图瓦片,现在用openlayers请求资源报错。
以下是主要代码:
function loadVectorTile(){  
//参数设置:图层名称 / 投影坐标系 / 初始化样式
  var layerName = 'tiger:wuhanroad';
  var layerProjection = '4326';
  var initStyle = new ol.style.Style({
stroke: new ol.style.Stroke({
color: 'rgb(163,204,25)',
width: 5
})

});
//矢量切片图层
var vectorTile = new ol.layer.VectorTile({
title:"武汉道路-VectorTile",
style: initStyle,
projection: projection4326,
     //矢量切片数据
source: new ol.source.VectorTile({
       projeciton: projection4326,
format: new ol.format.GeoJSON(),
tileGrid: ol.tilegrid.createXYZ({
          extent: ol.proj.get('EPSG:4326').getExtent(),
          maxZoom: 22
}),
       tilePixelRatio:1,
       //发出获取切片的请求
       url: 'http://localhost:8080/geoserver/gwc/service/tms/1.0.0/'
+layerName+'@EPSG%3A'+layerProjection+'@geojson/{z}/{x}/{-y}.geojson'
      })
    });
   
   //构造Map对象

   //你需要在页面中提供一个id='map'的div
    map = new ol.Map({
        target: 'map',
        layers: [

          new ol.layer.Tile({
            source: new ol.source.OSM()
          })

        ],
        view:defaultView,
        controls:[
            new ol.control.ScaleLine(),
            new ol.control.ZoomSlider(),
            //new ol.control.LayerSwitcher(),
            new ol.control.OverviewMap(),
            new ol.control.Zoom()
        ],
      });

    map.addLayer(vectorTile);

}

  • 写回答

1条回答 默认 最新

  • Go 旅城通票 2017-03-28 08:38
    关注

    跨域了,和矢量地图无关,http://localhost:8080这个域名添加Access-Control-Allow-Origin响应头为*允许跨域访问

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝