2015-06-09 8 views
0

Я ищу помощь для получения пользовательского маркера. В настоящее время код нарушен. Вот мой сценарий. Когда я помещаю значок в цикл for, он прерывается. Когда я удаляю его, все работает.Google Map API Пользовательский маркер Image

var map = new google.maps.Map(document.getElementById('map'), { 
    zoom: 3, 
    center: new google.maps.LatLng(35.239313, -41.073296), 
    mapTypeId: google.maps.MapTypeId.HYBRID 
}); 
map.setOptions({ minZoom: 3, maxZoom: 15 }); 
var infowindow = new google.maps.InfoWindow(); 
var image = 'images/research-pin.png'; 
var marker, i; 

В этом цикле, когда я добавляю «значок» в цикл for, он не отображается. Мне нужно отобразить несколько маркеров, используя один и тот же пользовательский образ.

for (i = 0; i < locations.length; i++) { 
    marker = new google.maps.Marker({ 
    position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
    map: map, 
    html: locations[0] 
    icon: image 
    }); 
    google.maps.event.addListener(marker, 'click', (function(marker, i) { 
    return function() { 
     infowindow.setContent(locations[i][0]); 
     infowindow.open(map, marker); 
    } 
    })(marker, i)); 
} 

ответ

0

Вам не хватает запятой. Это:

marker = new google.maps.Marker({ 
    position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
    map: map, 
    html: locations[0] //<----- missing comma 
    icon: image 
}); 

должно быть:

marker = new google.maps.Marker({ 
    position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
    map: map, 
    html: locations[0], // <---- added comma 
    icon: image 
}); 

Вы должны получить сообщение о синтаксической ошибке.

+0

doh! Спасибо! – mwisner

Смежные вопросы