gpt4 book ai didi

jquery - 动态纬度/经度转换为开放层脚本

转载 作者:行者123 更新时间:2023-12-01 04:35:46 26 4
gpt4 key购买 nike

我有以下动态 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
})
});

最佳答案

一些 OL 函数对参数数据类型非常敏感。如果它被认为是字符串而不是 float ,则该函数可能会失败 - 而且通常是默默地失败。

您可以通过更改行来修复它

center: ol.proj.fromLonLat([map_lng , map_lat]),

center: ol.proj.fromLonLat([parseFloat(map_lng) , parseFloat(map_lat)]),

关于jquery - 动态纬度/经度转换为开放层脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56491993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com