GoogleMap JS中两种不同类型的标记



我正在为小型房地产公司的网站工作。我在网站上有一个Google地图,显示了所有可用属性,其中属性数据通过XML调用从MySQLI数据库中绘制。所有这些都在起作用。客户现在希望添加办事处的位置。这些不在数据库中,因此需要手动添加。是否可以有两个不同的'var marker = new google.maps.marker({'呼叫?如果是的,我找不到在拉出每个属性数据的环路外将其定位在哪里。工作代码是:

<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>

感激不尽收到的任何建议。

初始化map变量后,只需在initMap功能中添加任何"固定"标记(可以是在调用downloadUrl之前或之后)。

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;
  // add a fixed marker
  var anotherMarker = new google.maps.Marker({
    map: map,
    position: new google.maps.LatLng(40.300000, 15.800000),
  });
  downloadUrl('mapXMLcall.php', function(data) {
  // ...
  }
}

最新更新