Uncaught InvalidValueError:setIcon:不是字符串;没有网址属性;并没有路径属性

时间:2015-04-02 12:48:49

标签: javascript google-maps google-maps-api-3

我试图从数据库中将已保存的标记加载到地图中,直到现在工作正常,我在控制台中收到错误:

  

Uncaught InvalidValueError:setIcon:不是字符串;没有网址属性;并且没有路径属性

有问题的代码是:

$.get("event_data.php", function (data) {
        $(data).find("marker").each(function () {
              var name = $(this).attr('name');
              var description = '<p>'+ $(this).attr('description') +'</p>';
              var type = $(this).attr('category');
              var edate = $(this).attr('edate');
              var point = new google.maps.LatLng(parseFloat($(this).attr('lat')),parseFloat($(this).attr('lon')));
              create_marker(point, name, description, category, edate, false, false, false, "");
        });
    });

function create_marker(MapPos, eName, eForm, type, InfoOpenDefault, DragAble, Removable, iconPath)
{

    // Display the Icon by category
    switch(type){
        case 'meeting': iconPath = 'static/assets/meeting_marker1.png'; break;
        case 'clean' : iconPath = 'static/assets/clean_marker2.png'; break;
        case 'special' : iconPath = 'static/assets/special_marker.png'; break;
        case 'priority' : iconPath = 'static/assets/alert_marker.png';
    }

    var marker = new google.maps.Marker({
        position: MapPos,
        map: map,
        draggable:DragAble,
        title: eName,
        icon: iconPath
    });

......
}

控制台中突出显示的行是:

  

$(data).find(&#34; marker&#34;)。each(function(){

  

create_marker(点,名称,描述,类别,edate,false,false,   false,&#34; static / assets / new_event_marker.png&#34;);

  

var marker = new google.maps.Marker({

1 个答案:

答案 0 :(得分:0)

感谢帮助人员。这只是一个简单的错误。我更改了参数名称(类型),但从未在输出中更改过。

所以这个:

create_marker(point, name, description, category, edate, false, false, false, '');

成了这个:

create_marker(point, name, description, type, edate, false, false, false, '');