我正在尝试在我的 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。
我不需要派遣优秀的员工。我只需要
console.log(event.coordinate)
。就是这样!