我正在尝试缩放 HTML openlayers map 并向其添加标记,到目前为止,我对从 JSON 结果中提取的纬度和经度进行了硬编码。 我想首先在该位置放置一个标记,然后使用 lat 和 lng 创建一个函数以避免编码并能够为任何 JSON 条目放置标记。
这是到目前为止我的代码,位置已很好地缩放到该位置,但找不到如何放置标记?谢谢!
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()})
],
view: new ol.View({
center: ol.proj.fromLonLat([103.835471, 1.303371]),
zoom: 6
}),
target: 'map'
});
最佳答案
以下是您要遵循的基本步骤:
- 使用矢量源 (
ol.layer.Vector
) 创建矢量图层 (ol.source.Vector
) - 将该图层包含在 map 的“图层”数组中
- 使用所需的几何形状创建特征 (
ol.Feature
) - 调用
addFeature()
在矢量源上将功能添加到图层
如果几何图形的坐标是纬度/经度,请确保对其进行变换。
以下内容可能会有所帮助:
关于javascript - 如何使用 JSON 坐标向 OPENLAYERS map 添加标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32788343/