我收到错误Uncaught InvalidValueError:setIcon:in property url:not string when display map pin

时间:2015-04-23 11:08:24

标签: php google-maps

我的代码就像是

function createPod(pod_point, pod_info, image_url,car_count,car_name,incident_id,sBookingType,lat,lon,area_id) {

    if(old_area == ''){
     contentString = '<a href="incident.php?id='+incident_id+'&lat='+lat+'&lon='+lon+'">'+car_name+'</a>';
    }
    if(old_area == area_id){
        contentString += '<br/><a href="incident.php?id='+incident_id+'&lat='+lat+'&lon='+lon+'">'+car_name+'</a>';
    }else{
        contentString = '<br/><a href="incident.php?id='+incident_id+'&lat='+lat+'&lon='+lon+'">'+car_name+'</a>';
    }
    var infowindow = new google.maps.InfoWindow({
        content: contentString
    });
    pod_icon = new google.maps.Marker({
        url: image_url
    });

    var pod_marker = new google.maps.Marker({
        position: pod_point,
        map: map,
        icon: pod_icon
    });
    google.maps.event.addListener(pod_marker, 'click', function ()
    {
        infowindow.open(map,pod_marker);
    });

    old_area = area_id;
    return pod_marker;
}

function createCarsFromArray(carsArray,installation_location) {

    var availableIcons = [
        ['\\localhost\test\1.png'],
        ['\\localhost\test\2.png'],
        ['\\localhost\test\3.png'],
    ];

    var i = 0;
    carsArray.forEach(function(entry) {

        var podInfoPanel="";
        var iconLoc = availableIcons[entry[3]];

        createPod(new google.maps.LatLng(entry[1], entry[2]),podInfoPanel,iconLoc,0,entry[5],entry[0],entry[6],entry[1], entry[2],entry[7]);

        i++;
    });
}

但它产生错误而不显示图标图像

我使用函数参数为图标图像添加动态网址 但有些人说url不是字符串 无法找到解决方案?

1 个答案:

答案 0 :(得分:2)

根据您的代码,您可以直接从数组中指定图标的路径,此处

var iconLoc = availableIcons[entry[3]];

替换它
var iconLoc = String(availableIcons[entry[3]]);

它应该有用。

由于 阿米特