Я пытаюсь указать свой адрес на карте в OpenLayers, используя приведенный ниже код:
var rome = new ol.Feature({
geometry: new ol.geom.Point(ol.proj.fromLonLat([12.5, 41.9]))
});
rome.setStyle(new ol.style.Style({
image: new ol.style.Icon(/** @type {olx.style.IconOptions} */ ({
color: '#8959A8',
crossOrigin: 'anonymous',
src: 'https://openlayers.org/en/v4.3.1/examples/data/dot.png'
}))
}));
var vectorSource = new ol.source.Vector({
features: [rome]
});
var vectorLayer = new ol.layer.Vector({
source: vectorSource
});
var rasterLayer = new ol.layer.Tile({
source: new ol.source.TileJSON({
url: 'https://api.tiles.mapbox.com/v3/mapbox.geography-class.json?secure',
crossOrigin: ''
})
});
var map = new ol.Map({
layers: [rasterLayer, vectorLayer],
target: document.getElementById('map'),
view: new ol.View({
center: ol.proj.fromLonLat([2.896372, 44.60240]),
zoom: 3
})
});
У меня есть одно поле ввода onchange
этого поля ввода. Я получу значения широты и долготы.
Я хочу поместить эти значения в свою точку, поэтому я сохранил значения, которые я получаю в глобальной переменной и получаю доступ в моем JS: [longitude, latitude]
), но он не помещает эти значения на карту. но если я помещаю такие значения, как 4.1111, 50.1111
, это работает.
Когда я меняю свои входные значения, [longitude, latitude]
изменяется, но не применяется к приведенному ниже коду:
var rome = new ol.Feature({
geometry: new ol.geom.Point(ol.proj.fromLonLat([longitude, latitude]))
});