如何将 vue3openlayer 坐标保存到 Django SRID4326

问题描述 投票:0回答:1

我正在尝试在我的 OpenStreetMap 中做标记。目前,当我使用 Django 坐标时,它显示了曼谷的一栋建筑。

"SRID=4326;MULTIPOINT (100.53007692708017 13.721325314629256)"
然后我制作自己的Vue3作为标记。我获取坐标的函数是
template

 <ol-map
    :loadTilesWhileAnimating="true"
    :loadTilesWhileInteracting="true"
    style="height: 400px"
    @click="handleMapClick"
  >
    <ol-view
      ref="view"
      :center="center"
      :rotation="rotation"
      :zoom="zoom"
      :projection="projection"
    />

    <ol-tile-layer>
      <ol-source-osm/>
    </ol-tile-layer>
  </ol-map>

script

import { fromLonLat, toLonLat } from 'ol/proj'; // Import fromLonLat and toLonLat
    const convertToSRID4326 = (coordinates) => {
      const latitude = coordinates[0];
      const longitude = coordinates[1];

      const latitudeInDegrees = latitude * (180 / Math.PI);
      const longitudeInDegrees = longitude * (180 / Math.PI);

      return { latitude: latitudeInDegrees, longitude: longitudeInDegrees };
    }

    const handleMapClick = (event) => {
      const clickedCoords = toLonLat(event.coordinate);
      markers.value.push(clickedCoords)
      markers.value.forEach(element => {
        console.log(element)
        console.log(convertToSRID4326(element))
      })
    }

我的小部件:

{0: 0.0009030769278815491, 1: 0.00012325954951108997}
我的转变:
latitude: 0.05174249654325298 longitude: 0.007062251971669265

但是 Django 是:

"SRID=4326;MULTIPOINT (100.53007692708017 13.721325314629256)"

目标:
Vue3 能够使用与 Django 相同的 SRID:4326。

django vue.js geospatial
1个回答
0
投票

我不需要派遣优秀的员工。我只需要

console.log(event.coordinate)
。就是这样!

© www.soinside.com 2019 - 2024. All rights reserved.