Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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:TypeError:a未定义-什么';怎么了?_Javascript_Google Maps - Fatal编程技术网

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库。