-1
私は小さな不動産会社のウェブサイトで働いています。 私は、利用可能なすべてのプロパティを表示しているサイト上のGoogleマップを持っています。プロパティーデータは、XML呼び出しを介してMysqliデータベースから引き出されています。これがすべて機能しています。 クライアントは、オフィスの所在地を追加したいと考えています。これらはデータベースにないため、手動で追加する必要があります。 2つの異なる 'var marker = new google.maps.Marker({'呼び出し?)の場合、それぞれのプロパティデータを取得するループの外側に配置する場所を見つけることができません。 作業コードは次のとおりです。 :Googlemapで2種類のマーカーのマーカJS
<script>
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: new google.maps.LatLng(40.300000, 15.800000),
zoom: 9
});
var infoWindow = new google.maps.InfoWindow;
downloadUrl('mapXMLcall.php', function(data) {
var xml = data.responseXML;
var property = xml.documentElement.getElementsByTagName('property');
Array.prototype.forEach.call(property, function(propertyElem) {
var id = propertyElem.getAttribute('Idnumber');
var name = propertyElem.getAttribute('Name');
var price = propertyElem.getAttribute('Price');
if (price == '999999') {var price = "POA"};
var point = new google.maps.LatLng(
parseFloat(propertyElem.getAttribute('Lat')),
parseFloat(propertyElem.getAttribute('Long')));
var infowincontent = document.createElement('div');
var strong = document.createElement('strong');
strong.textContent = name
infowincontent.appendChild(strong);
infowincontent.appendChild(document.createElement('br'));
var text = document.createElement('text');
text.textContent = ' €' + price;
infowincontent.appendChild(text);
var marker = new google.maps.Marker({
map: map,
position: point,
url: 'dbtest2.php?id=' + id
});
marker.addListener('mouseover', function() {
infoWindow.setContent(infowincontent);
infoWindow.open(map, marker);
});
google.maps.event.addListener(marker, 'click', function() {
window.open("dbtest2.php?id=" + id, "_blank", "toolbar=no,scrollbars=yes,status=no, resizable=yes,top=100,left=100,width=920,height=900")
});
});
});
}
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);
}
};
request.open('GET', url, true);
request.send(null);
}
function doNothing() {}
</script>
何かアドバイスはありがたく受け取っ