大赵传奇

GIS解决方案,webgis , 桌面、数据、服务--QQ276605216

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  264 随笔 :: 1 文章 :: 64 评论 :: 18万 阅读

php 版本可以切换,使用的是7.2。   可以切换至 5.3~8.3

1、webstorm, vue3:

复制代码
<template>
<!--  <HelloWorld msg="Vite + Vue" />-->

  <div class="container">
    <div style="z-index: 99999">
      <button @click="btn1_click">Test PHP</button>
      <button @click="btn2_click">Test MySQL</button>
      <div class="font-bold text-[24px]">在Vue3中使用OpenLayers按住Shift实现拖拽旋转放缩效果</div>
    </div>
    <div id="map"></div>
  </div>

</template>

<script setup lang="ts">
import {ref, onMounted} from 'vue';
import 'ol/ol.css';
import {Map, View} from 'ol';
import Tile from 'ol/layer/Tile';
import TileJSON from 'ol/source/TileJSON';
import {DragRotateAndZoom, defaults as defaultInteractions} from 'ol/interaction';
import _default from "ol/layer/Property";
import axios from 'axios';

const map = ref<Map>();

onMounted(() => {
  initMap();
  maptiler('streets');
});

const btn1_click=(()=>{
  axios.get('http://ysz.cdn.cloudflare.net/example.php')
      .then(response => {
        console.log(response.data);
      })
      .catch(error => {
        console.error(error);
      });
});
const btn2_click=(()=>{
  axios.get('http://ysz.cdn.cloudflare.net/mysql1.php')
      .then(response => {
        console.log(response.data);
      })
      .catch(error => {
        console.error(error);
      });
});

const initMap = () => {
  map.value = new Map({
    target: 'map',
    layers: [],
    view: new View({
      center: [13247019.404399557, 4721671.572580107],
      zoom: 3,
    }),
    interactions: defaultInteractions().extend([new DragRotateAndZoom()]),
  });
};

const maptiler = (layername:any) => {
  // 清除所有layer
  map.value!.getLayers().getArray().forEach((layer) => {
    if (layer) {
      map.value!.removeLayer(layer);
    }
  });

  //这个资源要FQ才好浏览
  let url = 'https://api.maptiler.com/maps/' + layername + '/tiles.json?key=RbTrJIUkZr';
  let source = new TileJSON({
    url: url,
    tileSize: 512,
    crossOrigin: 'anonymous',
  });

  let maptilerMap = new Tile({
    source: source,
  });
  map.value!.addLayer(maptilerMap);
};

</script>

<style scoped>

.container {
  border: 1px solid #42B983;
  display: flex;
}
#map {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
}


</style>
复制代码

main.ts

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

import 'ol/ol.css'
createApp(App).mount('#app')

tsconfig.json

复制代码
{
  "files": [],
  "references": [
    { "path": "./tsconfig.app.json" },
    { "path": "./tsconfig.node.json" }
  ],
  "angularCompilerOptions": {
    "strictNullChecks": false,
  }
}
复制代码

vite.config.ts:

复制代码
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import path from "path"; //这个path用到了这个模块需要下载  npm install @types/node --save-dev
//可能安装好了还飘红,重打开storm好了。

// https://vite.dev/config/
export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      // 关键代码
      '@': path.resolve(__dirname, './src')
      //"@": path.resolve("./src"), // @代替src
    }
  },
})
复制代码

npm run build/  编译,zip

2、准备php 脚本,使用npp 编辑两文件 :

mysql1.php:

复制代码
<?php
header('Content-Type: application/json');
$data = ['name' => 'John Doe2222222', 'email' => 'john.doe@example.com'];
echo json_encode($data);
$servername = "localhost";
$username = "lcyrrvfx";
$password = "lcyrrvfx";
 
// 创建连接
$conn = new mysqli($servername, $username, $password,"lcyrrvfx");
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
} 
echo "连接成功";

// Perform query
if ($result = $conn->query("SELECT name1,name12 FROM stu1")){
    echo "Returned rows are: " . $result->num_rows;
    
    if ($result->num_rows > 0) {
        // 输出数据
        while($row = $result->fetch_assoc()) {
            echo "name1:: " . $row["name1"]. " - Name12: " . $row["name12"]. "<br>";
        }
    } else {
        echo "0 结果";
    }
    // Free result set
    $result->free_result();
}

$conn->close();
?>
复制代码

3\ 虚拟主机文件 管理上传zip ,解压;上传php 文件 

 4、数据库mysql 管理面板:

 5、跑起来

 

posted on   赵长青  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
历史上的今天:
2021-02-22 清除sde工作空间缓存
点击右上角即可分享
微信分享提示