无法设置未定义的属性1 - javascript / google maps api

时间:2012-03-07 11:14:00

标签: javascript google-maps-api-3

我正在尝试构建一个值数组,我可以使用它来为谷歌地图添加标记,但不断收到此错误。下面的代码,关于我出错的地方的任何建议(对此很新......)非常感谢。

由于 保罗

      var result2 = sforce.connection.queryAll("select Name,Lat__c,Long__c, Status__c from Site__c where Lat__c != null");

  var records = result2.getArray('records');
  var store_locations = new Array();
  var Approved_store_locations = new Array();
  var Rejected_store_locations = new Array();
  var a=0,b=0,c=0;

  for (var j=0; j< records.length; j++) 
      {
        var record = records[j];

        if (record.Status__c == "IB Approved")
        {

            Approved_store_locations[a][1] = [[new google.maps.LatLng(record.Lat__c, record.Long__c)],[record.Name]];
            alert(Approved_store_locations[a][1]);
            a++ 
        } else if (record.Status__c == "Site Dead")
        {

            Rejected_store_locations[b][1] = [[new google.maps.LatLng(record.Lat__c, record.Long__c)],[record.Name]]; 
            b++
        } else
        {

            store_locations[c][1] = [[new google.maps.LatLng(record.Lat__c, record.Long__c)],[record.Name]]; 
            c++
        }

      }

  map = new google.maps.Map(document.getElementById("map"), myOptions);
  for (i=0; i < store_locations.length; i++)
  {
    marker2 = new google.maps.Marker(
    {
        position: store_locations[i][0],
        title: store_locations[0][i],
        map: map
    });
    iconfile = 'http://maps.google.com/mapfiles/ms/icons/yellow-dot.png';
    marker2.setIcon(iconfile);
  }

  for (i=0; i < Approved_store_locations.length; i++)
  {
    marker3 = new google.maps.Marker(
    {
        position: Approved_store_locations[i][0],
        title: store_locations[0][i],
        map: map
    });
    iconfile = 'http://maps.google.com/mapfiles/ms/icons/green-dot.png';
    marker3.setIcon(iconfile);
  }


  for (i=0; i < Rejected_store_locations.length; i++)
  {
    marker = new google.maps.Marker(
    {
        position: Rejected_store_locations[i][0],
        title: store_locations[0][i],
        map: map
    });
    iconfile = 'http://maps.google.com/mapfiles/ms/icons/red-dot.png';
    marker3.setIcon(iconfile);
  }

1 个答案:

答案 0 :(得分:0)

目前你只有store_locations=Array();,里面没有任何物品。

在尝试访问项目之前,您必须创建它,例如:

  var store_locations = [[]];
  var Approved_store_locations =  [[]];
  var Rejected_store_locations =  [[]];
  var a=0,b=0,c=0;

  for (var j=0; j< records.length; j++) 
      {
        var record = records[j];

        if (record.Status__c == "IB Approved")
        {

            Approved_store_locations[a][1] = [[new google.maps.LatLng(record.Lat__c, record.Long__c)],[record.Name]];
            alert(Approved_store_locations[a][1]);
            a++;Approved_store_locations.push([]);

        } else if (record.Status__c == "Site Dead")
        {

            Rejected_store_locations[b][1] = [[new google.maps.LatLng(record.Lat__c, record.Long__c)],[record.Name]]; 
            b++;Rejected_store_locations.push([])
        } else
        {

            store_locations[c][1] = [[new google.maps.LatLng(record.Lat__c, record.Long__c)],[record.Name]]; 
            c++;store_locations.push([]);
        }

      }