Javascript命令连接问题

时间:2012-04-30 11:20:13

标签: javascript google-maps concatenation

我正在使用谷歌map.i有一个简单的例子,工作正常。这是代码

function initialize() {
        if (GBrowserIsCompatible()) {

var map = new GMap2(document.getElementById('map_canvas'));
            map.setCenter(new GLatLng(1, 103.849), 5);
            map.addOverlay(new ELabel(new GLatLng(1, 103.849), 1, 'style11'));  
            map.addOverlay(new ELabel(new GLatLng(1, 103.980), 2, 'style11'));
            map.setUIToDefault();}}

这个上面的功能运行良好。现在我想让它动态。喜欢设置中心我想要传递变量,就像我这个地方我想用这个var center =“1,103.849”而我放置这条线     map.addOverlay(new ELabel(new GLatLng(1,103.849),1,'style11')); 我想在变量中使用这一行.... 这是我的代码不起作用。任何人都纠正我吗?

function initialize() {
        if (GBrowserIsCompatible()) {
            var center = "1, 103.849";
            var Locations = "map.addOverlay(new ELabel(new GLatLng(1, 103.849), 1, 'style11'));map.addOverlay(new ELabel(new GLatLng(1, 103.980), 2, 'style11'));";

            var map = new GMap2(document.getElementById('map_canvas'));
            map.setCenter(new GLatLng(center), 5);
             +Locations +

            map.setUIToDefault();
        }
    }

1 个答案:

答案 0 :(得分:1)

GLatLng将两个数字作为参数,而不是字符串。你需要做

var centerlat = 1;
var centerlng = 103.849;
map.setCenter(new GLatLng(centerlat,centerlng), 5);

我不确定+Locations+的目的是什么。这是一个语法错误。只需使用之前的map.addOverlay()行。

map.addOverlay(new ELabel(new GLatLng(centerlat,centerlng), 2, 'style11'));

请注意,不推荐使用版本2,并且版本不长。使用API​​的第3版(相当不同)。