2016-10-10 92 views
-1

首先想說的是我是新手,並且沒有很多Javascript知識。只需要創建一個網站,但付不起別人爲我做!使用Google Maps Api自定義和編號的圖標+信息窗口3

我試圖建立的是一個地圖,我可以找到我創建自己的多個不同標記。它們是不大於20KB的.png文件。我已經將它們加載到我的服務器裏面images/numbers /。他們是這樣的:

enter image description here

我可能需要超過50個,每一個也有自己的信息窗口。

這是我嘗試過編輯的例子,但不能使它工作:

https://developers.google.com/maps/documentation/javascript/tutorials/custom-markers?hl=es

這裏的javascript代碼我到目前爲止:

 var map; 
    function initialize() { 
     map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 12, 
     center: new google.maps.LatLng(41.388426, 2.171339), 
     mapTypeId: 'roadmap' 

    }); 

    var iconBase = 'images/numbers/'; 
    var icons = { 
     001: { 
     icon: iconBase + '001.png' 
     }, 
     002: { 
     icon: iconBase + '002.png' 
     } 
    }; 

    function addMarker(feature) { 
     var marker = new google.maps.Marker({ 
     position: feature.position, 
     icon: icons[feature.type].icon, 
     map: map 
     }); 
    } 

    var features = [ 
     { 
     position: new google.maps.LatLng(41.388426, 2.171339), 
     type: '001' 
     }, { 
     position: new google.maps.LatLng(41.387815, 2.139496), 
     type: '002' 
     } 
    ]; 

    for (var i = 0, feature; feature = features[i]; i++) { 
     addMarker(feature); 
    } 
    } 

希望能幫到你! Thankssss

+1

會很高興知道什麼是行不通的... – MrUpsidown

+0

@MrUpsidown對不起,您對了!問題是我在地圖上看不到標記... –

+0

JavaScript控制檯中的任何錯誤? – MrUpsidown

回答

-1

我能看到的主要問題是在您的for循環中。

嘗試用它來取代它:

for (var i = 0, i<features.length; i++) { 
    addMarker(features[i]); 
} 

然後,像@MrUpsidown在評論中提到的,你應該正確的icons數組中定義的對象。

var icons = { 
    '001': { 
    icon: iconBase + '001.png' 
    }, 
    '002': { 
    icon: iconBase + '002.png' 
    } 
}; 

由於features,它被定義爲字符串,則它應該在icons相同。

其餘的看起來沒問題。

+0

非常感謝您的解釋! –

相關問題