我正在使用开放层构建一个简单的 ISS 跟踪器,其中包含来自 API 的坐标。地图和点正确呈现,但我无法在不刷新页面的情况下更新地图上点的位置。我粘贴下面的代码。
import "ol/ol.css"
import Feature from "ol/Feature"
import Map from "ol/Map"
import Point from "ol/geom/Point"
import View from "ol/View"
import { Circle, Fill, Style } from "ol/style"
import { OSM, Vector as VectorSource } from "ol/source"
import { Tile, Vector } from "ol/layer"
import { fromLonLat } from "ol/proj"
const getISSPosition = () => {
fetch("https://api.wheretheiss.at/v1/satellites/25544")
.then(res => res.json())
.then(data => {
const ISSPosition = [data.longitude, data.latitude]
const ISSPositionMercator = fromLonLat(ISSPosition)
const map = new Map({
layers: [
new Tile({
source: new OSM()
})
],
target: "map",
view: new View({
center: [ISSPositionMercator[0], ISSPositionMercator[1]],
zoom: 2
})
})
const positionFeature = new Feature()
positionFeature.setStyle(
new Style({
image: new Circle({
radius: 4,
fill: new Fill({
color: "red"
})
})
})
)
positionFeature.setGeometry(new Point(ISSPositionMercator))
new Vector({
map: map,
source: new VectorSource({
features: [positionFeature]
})
})
})
}
getISSPosition()
烙印99
相关分类