我有一个数组,其中包含我的googlemap的几个标记。 当我尝试将此数组添加到我的地图时,我收到此错误。有什么想法吗?
这是我的代码:
markers = [];
function create_station_marker(position){
if(position != null){
eval(position);
var latitude = parseFloat(position.latitude);
var longitude = parseFloat(position.longitude);
var new_icon = new GIcon();
new_icon.image = "marker.png";
new_icon.size = new GSize(25,17);
var opt;
opt = {};
opt.icon = new_icon;
var marker = new GMarker(new GLatLng(latitude, longitude),opt);
markers.push(marker);
}
}
这是我将我的数组添加到地图的地方:
function load_googlemap() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(48.092757,11.645508), 4);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
for (var i=0; i< markers.length; i++ ) {
try{
map.addOverlay(markers[i]);
alert(markers[i].toSource());
}catch(ex){
//here I get this error!!!
alert(ex);
}
}
}
}
有关于此的任何想法吗?
答案 0 :(得分:1)
如果position
是包含数据的JSON表示的字符串,则必须将eval()
的结果分配给另一个变量,例如:
if(position != null){
position = eval(position);
// ...
但是,您应该正确解析它:
if(position != null){
position = JSON.parse(position);
答案 1 :(得分:0)
我会检查“位置”参数内容一旦你对它有一个评估,它可能是错误的来源