我正在使用谷歌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();
}
}
答案 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版(相当不同)。