Загрузить маркер Google Map HTML по запросу - PullRequest
0 голосов
/ 11 октября 2011

Можно ли загружать содержимое (т. Е. HTML-код, отображаемый во «всплывающей подсказке») маркера Карты Google, только когда пользователь фактически щелкает по нему?

У меня есть хорошая карта Google, встроенная в наш сайти работает нормально - всего 200 маркеров за раз.Но теперь мы хотели бы показать значительное количество маркеров (3900+), и в настоящее время все крошечные HTML-страницы для отображения всплывающих подсказок устанавливаются при добавлении маркеров.В идеале этот HTML-код должен загружаться с использованием AJAX.

1 Ответ

2 голосов
/ 11 октября 2011

Да, вам нужно будет загрузить нужные данные при нажатии на маркер, который вы добавили на карту, добавив прослушиватель кликов к маркеру.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?v=3&sensor=true_or_false"
type="text/javascript"></script>

<div id="map_canvas"> </div>

<script>
     var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
      var myOptions = {
        zoom: 4,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      }
      map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);


      var marker = new google.maps.Marker({
          position: myLatlng, 
          map: map,
          title:"Hello World!"
      });
      google.maps.event.addListener(marker, 'click', function() {

      // When clicked on the marker I use jquery to request some Html 
      // then show in the contents of an info window
        $.ajax({ 
           url: 'http://www.test.com/get-data/',
           dataType: 'html',
           success: function (data) {
               var infowindow = new google.maps.InfoWindow(
                { content: data,
               size: new google.maps.Size(50,50),
               position: marker.position
              });
            infowindow.open(map);
           }

        });

      });

</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...