Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

google maps api infowindow nhiều điểm đánh dấu, cùng một vị trí

Sử dụng liên kết @ Dr.Molle, tôi đã thấy nó hoạt động, trong trường hợp có ai theo dõi tính năng này, thì đây là mã mới của tôi

var markerContents={};
  var infoWindow = new google.maps.InfoWindow;

downloadUrl("map/map_data_source.php", function(data) {

  var xml = data.responseXML;


  var markers = xml.documentElement.getElementsByTagName("marker");
  for (var i = 0; i < markers.length; i++) {

  var date = markers[i].getAttribute("date");
  var artist = markers[i].getAttribute("artist");
  var venue = markers[i].getAttribute("venue");
  var address = markers[i].getAttribute("address");
  var city = markers[i].getAttribute("city");
  var idgigs = markers[i].getAttribute("id");
  var country = markers[i].getAttribute("country");
  var count = markers[i].getAttribute("count");
  var swith = markers[i].getAttribute("swith");
  var stage = markers[i].getAttribute("stage");
  var type = markers[i].getAttribute("type");
  var point = new google.maps.LatLng(
      parseFloat(markers[i].getAttribute("lat")),
      parseFloat(markers[i].getAttribute("lng")));
  var customIcons = {
 FFFFFF: {
icon: 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=' + count + '|' + type + '|000000'
},
upcoming: {
icon: '../map/marker/orange.png'
 }
};
  var markerId = point.toString();
  if(!markerContents[markerId]){
  markerContents[markerId] = [];
  }

var html =
   '<div id="infoWindow" width="600px"><img src="projects/components/' + artist + '">' +
  '<br><br>' + date +
  '<br><b>' + venue + '</b> / ' + city + '<br>' + swith + stage +
  '<br><b><a class="second_sub_menu" href="../projects/bands.php?sub=Setlist&info=' + artist + '&id=' + idgigs + '">SHOW INFORMATION</a></b>';

  var icon = customIcons[type] || {};


markerContents[markerId].push(html);



    var marker = new google.maps.Marker({
    map: map,
    position: point,
            zIndex: i,
    icon: icon.icon
});




 bindInfoWindow(marker, map, infoWindow, markerContents[markerId]);

  }
  });
  }

function bindInfoWindow(marker, map, infoWindow, html) {
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(html.join('<hr/>'));
infoWindow.open(map, marker);

 if (map.getZoom() < 4) map.setCenter(marker.getPosition());
 if (map.getZoom() < 4) map.setZoom(4); 
 });
 google.maps.event.addListener(map, "click", function() {infoWindow.close();});
 }

Bởi vì tôi muốn các biểu tượng tùy chỉnh và tôi muốn một nhóm điểm đánh dấu được chọn luôn ở trên cùng, tôi cũng phải sửa đổi mã biểu tượng, nhưng nó hoạt động. Vì vậy, xin cảm ơn những người đã giúp




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Làm cách nào để lấy danh sách các giá trị trong Bảng A không tồn tại trong Bảng B?

  2. Các cột bit MySql trả về một số lớn kỳ lạ trong PHP 7.1 (không phải trong các phiên bản trước)

  3. Cách tốt nhất để lưu trữ Cài đặt của ứng dụng PHP?

  4. CHAR_LENGTH () trong MySQL là gì?

  5. Cách đóng đúng phiên ngủ đông với máy chủ mysql