加载谷歌地图标记HTML的要求

Load Google Map marker HTML on request

本文关键字:HTML 谷歌 地图 图标 加载      更新时间:2023-09-26

是否可以加载谷歌地图标记的内容(即在"工具提示"中显示的HTML),只有当用户实际点击它?

我在我们的网站上嵌入了一个很好的谷歌地图,它工作得很好-一次只有200个标记。但是现在我们想要显示大量的标记(3900多个),并且目前用于显示工具提示的所有小HTML页面都是在添加标记时设置的。理想情况下,这个HTML应该使用AJAX加载。

是的,当您添加到地图中的标记被单击时,您需要通过向该标记添加一个单击侦听器来加载所需的数据。

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