Ajax加载Google地图标记

时间:2018-07-17 15:35:08

标签: javascript jquery ajax wordpress google-maps

我有一个谷歌地图,它可以在页面加载时加载结果,这很好,但是我有一个ajax搜索表单,该表单通过ajax在单独的div中更新结果,但它不更新地图。我试图弄清楚ajax调用完成后如何更新地图,但我被卡住了。任何帮助将不胜感激!

代码如下:

1 个答案:

答案 0 :(得分:0)

由于您是通过MarkerClusterer显示标记,因此我建议采用以下解决方案来更新地图。

  • 一旦检索到数据,使用清除地图上的现有市场 MarkerCluster.clearMarkers功能
  • 使用新数据初始化MarkerCluster

下面的示例演示了如何“刷新”地图上的标记:

function placeMarkers(data){
     var markers = data.map(function (item, i) {
          return new google.maps.Marker({
              position: { lat: item.lat, lng: item.lng }
          });
     });

     //1.clear existing markers
     if (markerCluster)
          markerCluster.clearMarkers();

     //2.init marker cluster
     markerCluster = new MarkerClusterer(map, markers,
           { imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m' });

}

Demo