Javascript:TypeError:a未定义-什么';怎么了?
我有一个数组,其中包含我的谷歌地图的几个标记。 当我尝试将此数组添加到地图时,会出现此错误。你知道为什么吗 这是我的密码:Javascript:TypeError:a未定义-什么';怎么了?,javascript,google-maps,Javascript,Google Maps,我有一个数组,其中包含我的谷歌地图的几个标记。 当我尝试将此数组添加到地图时,会出现此错误。你知道为什么吗 这是我的密码: markers = []; function create_station_marker(position){ if(position != null){ eval(position); var latitude = parseFloat(position.latitude);
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);
}
}
}
}
函数加载\u googlemap(){
if(GBrowserIsCompatible()){
VarMap=新的GMap2(document.getElementById(“map”);
赛特中心地图(新格拉特林(48.092757,11.645508),4);
addControl(新的gsmallmappcontrol());
addControl(新的GMapTypeControl());
对于(var i=0;i
有什么想法吗?我会检查“position”参数内容,一旦你对其进行了eval,它可能是错误的来源如果
position
是一个包含数据JSON表示的字符串,你必须将eval()
的结果分配给另一个变量,例如:
if(position != null){
position = eval(position);
// ...
但是,您应该正确地解析它:
if(position != null){
position = JSON.parse(position);
请用一些示例数据完成过去的完整示例。在我的html视图中,我做了:创建站标记($position);对于每个点(foreach)。在document.ready上,我调用我的load_googlemap()函数。你的html是否有id为“map”的元素?也许你想将API版本更改为3。没有理由使用eval。使用JSON库。