Php 打开infowindow后出现Ajax调用错误
我在我的网站上使用谷歌地图的gmap3 我在点击一个按钮后找到了一个标记。Everyclick会根据用户的选择为我提供不同的位置 但是,当用户单击标记打开信息窗口并关闭它时,ajax调用就不起作用了。它在chrome控制台上给了我这个错误,“uncaughtTypeError:无法调用main.js中未定义的方法'lat' 编辑:似乎我忘了从代码中放入autofit{},似乎这就是问题所在。有人知道在这种情况下如何使用autofit吗 这是我的密码Php 打开infowindow后出现Ajax调用错误,php,jquery,ajax,Php,Jquery,Ajax,我在我的网站上使用谷歌地图的gmap3 我在点击一个按钮后找到了一个标记。Everyclick会根据用户的选择为我提供不同的位置 但是,当用户单击标记打开信息窗口并关闭它时,ajax调用就不起作用了。它在chrome控制台上给了我这个错误,“uncaughtTypeError:无法调用main.js中未定义的方法'lat' 编辑:似乎我忘了从代码中放入autofit{},似乎这就是问题所在。有人知道在这种情况下如何使用autofit吗 这是我的密码 // create a map $('#ma
// 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: {}
});
}
});
});
});
//创建一个映射
$('map#u canvas').gmap3({
地图:{
选项:{
中心:[-2.899153117.722626],
缩放:4,
mapTypeId:google.maps.mapTypeId.SATELLITE
}
}
});
$('.locate btn')。在('click',function()上{
var place_id=$('.place').val();
var address=$('.address').val();
$.ajax({
url:'ajax.php',
键入:“post”,
数据类型:“json”,
数据:“地点id=”+地点id+“&地址=”+地址,
beforeSend:function(){
$('.loading')。追加(“”);
},
成功:功能(地点){
$('map#u canvas').gmap3({
标记:{
latLng:[place.lat,place.lng],
数据:“”,
活动:{
单击:功能(标记、事件、上下文){
var map=$(this.gmap3('get'),
infowindow=$(this).gmap3({
获取:{
名称:“信息窗口”
}
});
如果(信息窗口){
infowindow.close();
信息窗口。打开(地图、标记);
infowindow.setContent(context.data);
}否则{
$(本文件)。gmap3({
信息窗口:{
主持人:马克,
选项:{
内容:context.data
}
}
});
}
}
}
},
自动拟合:{}
});
}
});
});
});
有人能告诉我出了什么事吗
谢谢。错误表明您获得成功的位置未设置。可能它没有得到数据。您正在使用place.lat,如果没有定义place,可能没有得到数据,则会出现此错误,因为place没有定义它的。lat无法调用。您有一个您正在尝试的实例吗?