我在我的网站上使用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: {}
});
}
});
});
});
有人会说出什么问题吗?
谢谢。