У меня есть следующие динамические переменные ColdFusion:
var map_lat = '<%cfoutput%>#map_lat#<%/cfoutput%>';
var map_lng = '<%cfoutput%>#map_lng#<%/cfoutput%>';
Они возвращают правильные значения при получении предупреждения.
Если бы я жестко закодировал эти значения в сценарий OpenLayers, он бы выглядел следующим образом:
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
view: new ol.View({
center: ol.proj.fromLonLat([-36.910847, 174.77596]), //hard-coded
zoom: 4
})
});
Но я хочу ввести переменные вместо жесткого кодирования, что-то вроде этого:
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
view: new ol.View({
center: ol.proj.fromLonLat([map_lng , map_lat]), // variables
zoom: 4
})
});
Это не работает, и я перепробовал все, что мог придумать, чтобы вставить туда эти переменные, включая генерацию массива, создание строки из массива и т. Д., Но ничего не работает.
Нужна помощь с этим.
ОБНОВЛЕНИЕ - РЕШЕНО
var x = parseFloat(map_lng);
var y = parseFloat(map_lat);
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
view: new ol.View({
center: ol.proj.fromLonLat([x,y]),
zoom: 12
})
});