【openlayers框架学习】十四:通过鼠标交互画直线、多边形、绘圆、自由画图



openlayers进阶

39 添加要素实现图形绘图

App.vue

<template>
  <div class="top-nav">
    <div class="city-choose">{
   
   {
   
    city }}</div>
    <el-input v-model="searchCity" style="width:240px" size="large" placeholder="请输入城市名称" :prefix-icon="Search" @keyup.enter="handleSearchCity"></el-input>
    <el-select v-model="drawType" placeholder="请选择绘制图形" style="width: 240px;"  @change="handleDrawType">
      <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
    </el-select>
    <el-select v-model="iconType" placeholder="请选择图标类型" style="width: 240px;">
      <el-option v-for="item in icons" :key="item.value" :label="item.label" :value="item.value"></el-option>
    </el-select>
  </div>
  <div id="map-container"></div>
  <div id="popup"></div>
</template>

<script setup>
import {
   
    ref } from "vue";
import {
   
    onMounted } from 'vue';
import {
   
   Search} from '@element-plus/icons-vue';
import Map from 'ol/Map';
import View from "ol/View";
import TileLayer from 'ol/layer/Tile';
import VectorLayer from 'ol/layer/Vector.js';
import {
   
    XYZ } from "ol/source";
import Draw from 'ol/interaction/Draw';
import VectorSource from "ol/source/Vector";
import GeoJSON from 'ol/format/GeoJSON.js';
import Style from "ol/style/Style";
import Fill from "ol/style/Fill";
import Stroke from "ol/style/Stroke";
const searchCity = ref("");
const city = ref("");
const adcode = ref("");
const cityLocation = ref([
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一叶怎知秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值