首頁 / 浏覽問題 / WebGIS / 問題詳情
vite+vue3下載openlayer資源包實現iserver地(dì / de)圖加載,但在(zài)浏覽器運行顯示空白
1EXP 2025年04月28日

浏覽器沒有任何提示與報錯。

估計是(shì)main.js中的(de)地(dì / de)圖應用實例的(de)代碼有問題,但不(bù)确定是(shì)使用錯方法還是(shì)引入服務器路徑錯誤。

// main.js

import { createApp } from 'vue'
import App from './App.vue'

import '../style.css'

import Map from '../node_modules/ol/Map'
import View from '../node_modules/ol/View.js';
import TileLayer from '../node_modules/ol/layer/Tile.js';

import { Projection } from '../node_modules/ol/proj'
import { XYZ } from '../node_modules/ol/source.js'

import * as iol from '../node_modules/@supermapgis/iclient-ol'
import * as initMap from  '../node_modules/@supermapgis/iclient-ol'
import { LayerInfoService } from '../node_modules/@supermapgis/iclient-ol/namespace.js';



// import RBush from "./libs/ol/layer/BaseVector.js"

// 創建vue應用實例
const app = createApp(App)

// 應用實例
// ol以(yǐ)面向對象的(de)形式設計api
// Map中的(de)配置選項
const map = new Map({
    target:"map",
    view: new View({
        center:[102.95 , 30.18 ],
        zoom:10,
        // 默認情況下ol使用墨卡托投影體系
        Projection:"EPSG:4326"
    }),
    layers:[
        new LayerInfoService('http://localhost:8090/iserver/services/map-chengdu/rest/maps/chengdu_sheng%40chengdu')
    ]
})




app.mount('#app')

以(yǐ)下是(shì)App.vue和(hé / huò)index.js的(de)代碼

<template>
    <div id="map"></div>
  </template>
  
  <script>
    export default {
      data(){
        return{
          name:'App'
        }
      },
      methods:{
        
      }
    }
  </script>
  
  
  
  <style>
 #map {
    width:100vm;
    height: 100vh;
}
  </style>
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" type="" href="src/assets/vue.svg" />
    <link rel="stylesheet" href="/vite-project/style.css">
    <!-- <link rel="icon" type="" href="src/App.vue" /> -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vite + Vue</title>
  </head>
  <body>
    <!-- vue的(de)挂載節點 -->
    <div id="app"></div>
    <script type="module" src="src/main.js"></script>
  </body>
</html>

最後有一(yī / yì /yí)個(gè)問題是(shì)像這(zhè)樣的(de)iserver服務url該如何獲取?

http://{服務器地(dì / de)址}:{服務端口号}/iserver/services/{地(dì / de)圖服務名}/rest/maps/{地(dì / de)圖名}/tempLayersSet/{tempLayerID}/Rivers@World@@World"

希望得到(dào)解答,感激!!

1個(gè)回答

1,191EXP 2025年04月28日
...