正如我试图说的那样。你有一个全球:
var id;
它似乎设置(或不设置)的唯一位置来自查询字符串。 然而,当您通过xml输入循环时,您调用createMarker(),它使用该全局ID。
function createMarker(point, icon, label, html) { var contentString = html; var marker = new google.maps.Marker({ position: point, map: map, title: label, icon: icon, zIndex: Math.round(point.lat() * -100000) << 5 }); marker.id = id; ....
因此每个标记获得相同的id。如果我是你,我会将“id”作为另一个属性添加到xml文件中并从那里设置它并使用查询字符串id仅执行您的选择逻辑。