最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue集成openlayers問題

 更新時間:2023年01月23日 13:00:22   作者:呱呱?.?  
這篇文章主要介紹了vue集成openlayers問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue集成openlayers

下載依賴

cnpm i -S ol

創(chuàng)建地圖文件

?<div class="map"></div>

按需引入相應的API,具體查看官方文檔

<script>
import Map from "ol/Map";
import View from "ol/View";
// 添加圖層
import TileLayer from "ol/layer/Tile";
import XYZ from "ol/source/XYZ";
import TileWMS from "ol/source/TileWMS.js";
// 格式化地理坐標
import { fromLonLat } from "ol/proj.js";
export default {
? data() {
? ? return {
? ? ? map: null,
? ? ? //后臺服務器地址
? ? ? urlRoot: "http://193.112.110.27:8080/geoserver/gee/wms?",
? ? };
? },
? mounted() {
? ? this.init();
? },
? methods: {
? ? init() {
? ? ? // ?經(jīng)緯度轉(zhuǎn)化
? ? ? var center = fromLonLat([101.34272, 23.6042484]);
? ? ? // ?自定義圖層
? ? ? this.layers = [
? ? ? ? new TileLayer({
? ? ? ? ? source: new TileWMS({
? ? ? ? ? ? url: this.urlRoot, //圖層地址
? ? ? ? ? ? params: { LAYERS: "fangchenggang:other_sea" }, //圖層名稱
? ? ? ? ? ? serverType: "geoserver", //后臺服務器
? ? ? ? ? ? zIndex: 2 //圖層層級
? ? ? ? ? })
? ? ? ? }),
? ? ? ? new TileLayer({
? ? ? ? ? source: new TileWMS({
? ? ? ? ? ? url: this.urlRoot,
? ? ? ? ? ? params: { LAYERS: "fangchenggang:realm" },
? ? ? ? ? ? serverType: "geoserver"
? ? ? ? ? }),
? ? ? ? ? zIndex: 3
? ? ? ? }),
? ? ? ? new TileLayer({
? ? ? ? ? source: new TileWMS({
? ? ? ? ? ? url: this.urlRoot,
? ? ? ? ? ? params: { LAYERS: "fangchenggang:stockpile" },
? ? ? ? ? ? serverType: "geoserver"
? ? ? ? ? }),
? ? ? ? ? zIndex: 3
? ? ? ? }),
? ? ? ? new TileLayer({
? ? ? ? ? source: new TileWMS({
? ? ? ? ? ? url: this.urlRoot,
? ? ? ? ? ? params: { LAYERS: "fangchenggang:road" },
? ? ? ? ? ? serverType: "geoserver"
? ? ? ? ? }),
? ? ? ? ? zIndex: 3
? ? ? ? }),
? ? ? ? new TileLayer({
? ? ? ? ? source: new TileWMS({
? ? ? ? ? ? url: this.urlRoot,
? ? ? ? ? ? params: { LAYERS: "fangchenggang:railway" },
? ? ? ? ? ? serverType: "geoserver"
? ? ? ? ? ? //crossOrigin: 'anonymous'
? ? ? ? ? }),
? ? ? ? ? zIndex: 3
? ? ? ? }),
? ? ? ? new TileLayer({
? ? ? ? ? source: new TileWMS({
? ? ? ? ? ? url: this.urlRoot,
? ? ? ? ? ? params: { LAYERS: "cesium:storage_yard" },
? ? ? ? ? ? serverType: "geoserver"
? ? ? ? ? }),
? ? ? ? ? zIndex: 3
? ? ? ? })
? ? ? ];
? ? ? // ?加載地圖
? ? ? this.map = new Map({
? ? ? ? target: "map", //地圖容器
? ? ? ? layers: [ ? ? ? ?
? ? ? ? //加載天地圖天地圖
? ? ? ? new TileLayer({
? ? ? ? ? source: new XYZ({
? ? ? ? ? ? url: "https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"
? ? ? ? ? }),
? ? ? ? ? zIndex: 1
? ? ? ? })],
? ? ? ? view: new View({
? ? ? ? ? projection: "EPSG:3857",
? ? ? ? ? //初始化地圖中心
? ? ? ? ? center: center,
? ? ? ? ? zoom: 2,
? ? ? ? ? // 鏡頭
? ? ? ? ? maxZoom: 18,
? ? ? ? ? minZoom: 13
? ? ? ? }),
? ? ? ? logo: false
? ? ? });
? ? ? //添加圖層
? ? ? this.map.addLayer(layers);
? ? }
? }
};
</script>

其他API

從地圖中刪除給定的疊加層。

this.map.removeLayer(layer);

設(shè)置圖層顯示或隱藏

this.layers.road.setOpacity(0)

vue openlayers繪制數(shù)據(jù)時鼠標位置偏移問題

問題:將地圖集成到現(xiàn)有的vue項目中,使用測量/繪制工具,鼠標位置和繪制的實際位置發(fā)生偏移。

如圖,

正常應該是鼠標位置和實際繪制位置在同一點,圖:

分析:我能想到可能造成這個問題的原因有:

  • 顯示器縮放比例不是100%;
  • 地圖dom被拉伸;
  • 組件沖突導致。

解決方案

我的系統(tǒng)是項目本身對body設(shè)置了縮放,因此在瀏覽器大小和預置大小不一致時會對body整體進行縮放,從而導致map元素被縮放。

body此時的樣式:

至此,問題找到,取消這個縮放即可得到正確的鼠標定位。

反思一下,地圖出現(xiàn)這個問題是因為地圖數(shù)據(jù)的展示是憑借canvas實現(xiàn)的,地理數(shù)據(jù)和展示效果之間的交互是依靠的像素坐標和經(jīng)緯度坐標之間的轉(zhuǎn)換,而地圖元素的縮放破壞了這個轉(zhuǎn)換關(guān)系,所以造成了鼠標位置和實際繪制位置的偏移。        

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決vue router組件狀態(tài)刷新消失的問題

    解決vue router組件狀態(tài)刷新消失的問題

    這篇文章主要介紹了vue router組件狀態(tài)刷新消失的問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • vue中keep-alive組件的用法示例

    vue中keep-alive組件的用法示例

    眾所周知keep-alive是Vue提供的一個抽象組件,主要是用來對組件進行緩存,從而做到節(jié)省性能,這篇文章主要給大家介紹了關(guān)于vue中keep-alive組件用法的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • vue子路由跳轉(zhuǎn)實現(xiàn)tab選項卡

    vue子路由跳轉(zhuǎn)實現(xiàn)tab選項卡

    這篇文章主要為大家詳細介紹了vue子路由跳轉(zhuǎn)實現(xiàn)tab選項卡,完成一個簡單的tab選項卡布局,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Vue刷新后頁面數(shù)據(jù)丟失問題的解決過程

    Vue刷新后頁面數(shù)據(jù)丟失問題的解決過程

    在做vue項目的過程中有時候會遇到一個問題,就是進行F5頁面刷新的時候,頁面的數(shù)據(jù)會丟失,這篇文章主要給大家介紹了關(guān)于Vue刷新后頁面數(shù)據(jù)丟失問題的解決過程,需要的朋友可以參考下
    2022-11-11
  • 初識簡單卻不失優(yōu)雅的Vue.js

    初識簡單卻不失優(yōu)雅的Vue.js

    這篇文章主要為大家介紹了簡單卻不失優(yōu)雅、小巧而不乏大匠的Vue.js,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 前端vue3使用axios調(diào)用后端接口的實現(xiàn)方法

    前端vue3使用axios調(diào)用后端接口的實現(xiàn)方法

    vue本身不支持ajax接口的請求,所以在vue中經(jīng)常使用axios這個接口請求工具,下面這篇文章主要給大家介紹了關(guān)于前端vue3使用axios調(diào)用后端接口的實現(xiàn)方法,需要的朋友可以參考下
    2022-12-12
  • vue?LogicFlow更多配置選項示例詳解

    vue?LogicFlow更多配置選項示例詳解

    這篇文章主要為大家介紹了vue?LogicFlow更多配置選項詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Vue2使用cube-ui?實現(xiàn)搜索過濾、高亮功能

    Vue2使用cube-ui?實現(xiàn)搜索過濾、高亮功能

    cube-ui?是基于?Vue.js?實現(xiàn)的精致移動端組件庫,由于很長一段時間沒有學習cube-ui?的功能實現(xiàn)示例代碼了,今天通過本文給大家介紹下Vue2使用cube-ui?實現(xiàn)搜索過濾、高亮功能,感興趣的朋友跟隨小編一起看看吧
    2023-01-01
  • vue-baidu-map 進入頁面自動定位的解決方案(推薦)

    vue-baidu-map 進入頁面自動定位的解決方案(推薦)

    這篇文章主要介紹了vue-baidu-map 進入頁面自動定位的解決方案,需要的朋友可以參考下
    2018-04-04
  • 淺談VUE uni-app 自定義組件

    淺談VUE uni-app 自定義組件

    這篇文章主要介紹了uni-app 的自定義組件,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10

最新評論

黄陵县| 新晃| 常熟市| 上蔡县| 盐池县| 商南县| 武功县| 石城县| 临颍县| 宁强县| 彭泽县| 江永县| 吉木萨尔县| 阿拉善右旗| 连南| 弥勒县| 元氏县| 台南市| 溆浦县| 泌阳县| 晋城| 乐至县| 安龙县| 台江县| 丰城市| 新津县| 邛崃市| 唐山市| 内江市| 阳高县| 枣强县| 芷江| 水富县| 塔河县| 莎车县| 霍邱县| 河池市| 璧山县| 紫云| 曲水县| 防城港市|