Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改已翻译字符串的传单覆盖标题_Javascript_Leaflet - Fatal编程技术网

Javascript 更改已翻译字符串的传单覆盖标题

Javascript 更改已翻译字符串的传单覆盖标题,javascript,leaflet,Javascript,Leaflet,我使用传单在地图上隐藏/显示一些多边形,但在我找到的所有示例中,包括,叠加标题都是静态设置的: var overlayMaps = { "Cities": cities }; 如果我想要一个翻译的字符串而不是“城市”呢?在剩下的Javascript代码中,我使用以下命令调用已翻译的字符串: $.ajax({ type: "POST", url: Settings.base_url ... } 或 但如果我尝试对覆盖使用以下内容,则会出现语法错误: var overlayM

我使用传单在地图上隐藏/显示一些多边形,但在我找到的所有示例中,包括,叠加标题都是静态设置的:

var overlayMaps = {
    "Cities": cities
};
如果我想要一个翻译的字符串而不是“城市”呢?在剩下的Javascript代码中,我使用以下命令调用已翻译的字符串:

$.ajax({
   type: "POST",
   url: Settings.base_url
...
}

但如果我尝试对覆盖使用以下内容,则会出现语法错误:

var overlayMaps = {
    Settings.show_polygone: cities
};
Settings.show\u polygone在我的页脚中定义,例如:

show_polygone: "<?php echo $this->lang->line('main')['show_polygone']; ?>"
show_polygone:“
知道如何实现吗?

如果要将变量设置为JS对象上的键,必须使用

试一试

还有一个演示

var cities=L.layerGroup();
L.marker([39.61,-105.02]).bindPopup('这是美国利特尔顿公司。).addTo(城市),
L.marker([39.74,-104.99]).bindPopup('这是丹佛,公司。).addTo(城市),
L.marker([39.73,-104.8]).bindPopup('这是公司Aurora.).addTo(城市),
L.marker([39.77,-105.23]).bindPopup('This is Golden,CO.)).addTo(cities);
var mbAttr='地图数据和副本;贡献者,'+
', ' +
“图像”,
姆布尔https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyj1ijoibwwwwym94iiwiysi6imnpejy4nxvycta2emycxbndhrqcmz3n3gifq.rjfig214ariislb6b5aw';
var grayscale=L.tillelayer(mbUrl,{id:'mapbox.light',属性:mbAttr}),
streets=L.Tillelayer(mbUrl,{id:'mapbox.streets',属性:mbAttr});
var map=L.map('map'{
中间:[39.73,-104.99],
缩放:10,
图层:[灰度,城市]
});
var baseLayers={
“灰度”:灰度,
“街道”:街道
};
变量设置={
show_polygone:“显示多边形”
}
var覆盖={};
覆盖[Settings.show_polygone]=城市;
L.控制层(基本层、覆盖层)。添加到(地图)
html,正文{
身高:100%;
保证金:0;
}
#地图{
宽度:600px;
高度:400px;
}


我猜它需要一个字符串,而您正在传递一个对象?可能尝试将其转换为字符串。我尝试添加
var show\u polygone=string(Settings.show\u polygone)然后
show_polygones:cities
但它会显示
show_polygones
。直接添加字符串函数也会返回语法错误。请尝试使用
.toString()
函数<代码>变量show_polygone=Settings.show_polygone.toString()如果我使用您建议的方法,则会出现相同的问题
show_polygone: "<?php echo $this->lang->line('main')['show_polygone']; ?>"
var overlays = {};
overlays[Settings.show_polygone] = cities;