0
Google지도에 두 개의 다른 XML 파일에서 포인트를로드하려고합니다. 두 XML 파일의 점을로드하고 표시하지만 두 번째 XML 파일로로드 된 점을 클릭하면 첫 xml 파일 점처럼 html을 보여주는 팝업이 표시되지 않습니다. 내가 처음 XML 파일을로드하는 스크립트를 제거하면 풍선과 같이 두 번째 XML 파일에 대한 벌금을 보여Google지도에 여러 개의 XML로드
나는 두 xml 파일에서 포인트를지도하고 유지하는 방법을 알아야
풍선 작동, 나는 그것을 알아낼 수 없습니다.
다음은 코드의 일부는 XML 파일을로드 할 수 있습니다 :
function load() {
var map = new google.maps.Map(document.getElementById("map"), {
center: new google.maps.LatLng(30.214632, -97.799502),
zoom: 9,
mapTypeId: 'roadmap'
});
var infoWindow = new google.maps.InfoWindow;
// Change this depending on the name of your PHP file
downloadUrl("phpsqlsearch_genxml2.php", function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("name");
var lastname = markers[i].getAttribute("lastname");
var address = markers[i].getAttribute("address");
var fulladdress = markers[i].getAttribute("fulladdress");
var city = markers[i].getAttribute("city");
var zip = markers[i].getAttribute("zip");
var state = markers[i].getAttribute("state");
var type = markers[i].getAttribute("type");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html = "<b>" + name + " " + lastname +"</b> @ <b>" + type + "</b> <br/>" + address + "</b> <br/>" + fulladdress;
var icon = customIcons[type] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon,
shadow: icon.shadow
});
var ctaLayer = new google.maps.KmlLayer('/kmz/<?php echo $name ?>.kmz');
ctaLayer.setMap(map);
bindInfoWindow(marker, map, infoWindow, html);
}
});
downloadUrl("/trucks/xmldata.php", function(data2) {
var xml2 = data2.responseXML;
var markers = xml2.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var unit = markers[i].getAttribute("unit");
var lat = markers[i].getAttribute("lat");
var lng = markers[i].getAttribute("lng");
var last = markers[i].getAttribute("last");
var state = markers[i].getAttribute("state");
var speed = markers[i].getAttribute("speed");
var address = markers[i].getAttribute("address");
var truck = markers[i].getAttribute("truck");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html = truck + "<br>Speed: " + speed + "<br>State: " + state + "<br>Address: " + address + "<br>Last Updated: " + last;
var icon = customIcons[unit] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon,
shadow: icon.shadow
});
}
});
}
function bindInfoWindow(marker, map, infoWindow, html) {
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(html);
infoWindow.open(map, marker);
});
}
function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request, request.status);
}
};
감사에 앞서 어떤 도움의 시간. 더 자세한 설명이 필요하면 알려주세요.