打开infowindow后出现Ajax调用错误

时间:2014-10-11 20:42:52

标签: php jquery ajax

我在我的网站上使用gmap3进行谷歌地图。

点击按钮后找到标记。 Everyclick将根据用户选择的内容给出不同的位置。

顺利,当用户点击标记打开信息窗口并关闭它时,ajax调用不起作用。它在chrome控制台上给出了这个错误,“未捕获的TypeError:无法在main.js中调用未定义的方法'lat'。

编辑:似乎我忘了从代码中添加自动调整{},这似乎是问题所在。在这种情况下,任何人都知道如何使用自动调整功能吗?

这是我的代码

 // create a map
$('#map_canvas').gmap3({
  map: {
    options: {
      center: [-2.899153, 117.722626],
      zoom: 4,
      mapTypeId: google.maps.MapTypeId.SATELLITE
    }
  }
});
$('.locate-btn').on('click', function() {
var place_id = $('.place').val();
var address = $('.address').val();
$.ajax({
  url: 'ajax.php',
  type: 'post',
  dataType: 'json',
  data: 'place_id=' + place_id + '&address=' + address,
  beforeSend: function() {
    $('.loading').append("<img src='/images/loading.gif'  id='loader' />");
  },
  success: function(place) {
    $('#map_canvas').gmap3({
      marker: {
        latLng: [place.lat, place.lng],
        data: '<a href="#" class="btn btn-info">nearest hotels</a><a class="btn btn-danger" href="#">about</a>',
        events: {
          click: function(marker, event, context) {
            var map = $(this).gmap3('get'),
              infowindow = $(this).gmap3({
                get: {
                  name: 'infowindow'
                }
              });
            if (infowindow) {
              infowindow.close();
              infowindow.open(map, marker);
              infowindow.setContent(context.data);
            } else {
              $(this).gmap3({
                infowindow: {
                  anchor: marker,
                  options: {
                    content: context.data
                  }
                }
              });
            }
          }
        }
      },
      autofit: {}
    });
  }
});
});
});

有人会说出什么问题吗?

谢谢。

0 个答案:

没有答案