php
  • google-maps
  • 2015-04-23 17 views 0 likes 
    0

    我的代碼就像下面我得到了錯誤未捕獲InvalidValueError:的setIcon:在屬性url:不是字符串時,顯示地圖針

    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,使用函數參數 ,但它如何說url不是字符串 無法找到解決方案?

    +0

    請提供[最小的,完整的,經過測試和讀示例](http://stackoverflow.com/help/mcve),演示了這一問題 – geocodezip

    +0

    'pod_marker的'icon'屬性'應該設置爲'image_url'(創建'pod_icon'是多餘的) –

    +0

    不正確('pod_icon = new google.maps.Marker({url:image_url});'不是圖標或字符串,它是一個google.maps.Marker ...) – geocodezip

    回答

    2

    根據你的代碼看來,你是直接從陣列,指定圖標的路徑這裏

    var iconLoc = availableIcons[entry[3]]; 
    

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

    它應該替換此。

    感謝 阿米特

    +0

    謝謝,是的,這正是答案,當設置var iconLoc = String(availableIcons [entry [3]]);作爲字符串它完美的作品 –

    相關問題