私は頭がおかしくなり始める問題に直面しています...
2 番目のマーカー リスナーが機能しない理由を理解するには、あなたが私よりも新鮮であると確信しています。:-(
このコードでは、JSON 形式の Ajax クエリからいくつかの項目を取得します。
JavaScriptコードは次のとおりです。
// Get all items in JSON format
function getItems()
{
// Ajax call
$.getJSON("/index/test", function(data) {
createMenu(data);
fillMap(data);
});
}
function fillMap(data){
// For each
$.each(data, function(key, item) {
// Create markers
var latLon = new google.maps.LatLng(item.lat,item.lon);
marker = new google.maps.Marker({
position: latLon,
map: map,
title: 'Index: ' + item.id,
});
// Set marker on the map
marker.setMap(map);
// Listener 1
google.maps.event.addListener(marker, "click", function() {
map.setCenter(marker.getPosition());
});
// Listener 2 -
google.maps.event.addListener($('#resultList-'+item.id)[0], 'click', function() {
map.setCenter(marker.getPosition());
});
});
}
//Create the HTML menu
function createMenu(data){
var items = [];
//For each items
$.each(data, function(key, item) {
var imgHtml = '<img class="shadow" src="../images/item.png" height="48" width="48" alt="photo">';
// Create the HTML li tag
var html = '<li id="resultList-' + item.id + '" class="resultList">' + imgHtml + item.nom + ' ' + item.prenom + '<br/>' + item.adresse + '<br/>' + item.ville + ', ' + item.pays + '</li>';
items.push(html);
});
// Fill the div
$('<ul/>', {
'id': 'resultList',
'class': 'resultList',
html: items.join('')
}).appendTo('#divList');
//End...
}
よろしくお願いします!セドリック。