Jquery 当我点击谷歌地图标记时,我可以使用ajax更新Div吗?
我有一张我创建的谷歌地图,它的建筑标记来自一个数据库。我正在用数据库的信息填充这些标记。我想做的是在地图右边的一个div中填写这些信息。我的想法是,如果我可以通过ajax将标记的ID发送到一个页面,该页面将查找信息并用信息重新加载该页面。我充其量只是一个ajax新手,我不知道从哪里开始Jquery 当我点击谷歌地图标记时,我可以使用ajax更新Div吗?,jquery,google-maps-api-3,Jquery,Google Maps Api 3,我有一张我创建的谷歌地图,它的建筑标记来自一个数据库。我正在用数据库的信息填充这些标记。我想做的是在地图右边的一个div中填写这些信息。我的想法是,如果我可以通过ajax将标记的ID发送到一个页面,该页面将查找信息并用信息重新加载该页面。我充其量只是一个ajax新手,我不知道从哪里开始 感谢您的帮助。当您创建标记时,请将html插入信息窗口,请参见第行var html function createMarker(latlng, name, id) { var html = "<b>
感谢您的帮助。当您创建标记时,请将html插入信息窗口,请参见第行
var html
function createMarker(latlng, name, id) {
var html = "<b> Marker " + id + "</b> <br/><br/><button onclick='doIt("+id+")'>Do It</button>";var image = "icons/XX.png";
var shadow = "icons/XXX.png";
var marker = new google.maps.Marker({
map: map,
position: latlng,
icon: image,
shadow: shadow
});
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(html);
infoWindow.open(map, marker);
});
函数createMarker(latlng、name、id){
var html=“Marker”+id+”
Do It“var image=“icons/XX.png”;
var shadow=“icons/XXX.png”;
var marker=new google.maps.marker({
地图:地图,
位置:latlng,
图标:图像,
影子:影子
});
google.maps.event.addListener(标记'click',函数(){
setContent(html);
信息窗口。打开(地图、标记);
});
}
函数doIt(id)
将使用Ajax重新加载。使用jQuery并不困难,我建议使用-method。它启动ajax请求并将响应加载到目标:
google.maps.event.addListener(marker, 'click', function() {
$('#divID').load('some.php?id=123');
});
(其中divID是要显示响应的元素的ID)下面是一个通过单击多边形而不是标记来工作的示例(但概念相同): 代码片段(带标记):
var-map=null;
函数createMarker(latLng,html){
var marker=new google.maps.marker({
位置:latLng,
地图:地图
});
google.maps.event.addListener(标记'click',函数(){
document.getElementById('info').innerHTML=html;
});
}
函数openIW(layerEvt){
如果(layerEvt.row){
var content=layerEvt.row['admin'].value;
}else if(layerEvt.featureData){
var content=layerEvt.featureData.name;
}
document.getElementById('info').innerHTML=“您单击:
”+内容;
}
函数初始化(){
var chicago=new google.maps.LatLng(36.4278,-15.9);
变量myOptions={
缩放:0,
中心:芝加哥,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
创建标记({
拉脱维亚:42,
液化天然气:-72
}“美国”);
创建标记({
拉脱维亚:42,
液化天然气:72
}“俄罗斯”);
创建标记({
纬度:37.9838096,
液化天然气:23.7275388
},“希腊雅典”);
创建标记({
lat:-8.783195,
液化天然气:-55.491477
}“南美洲”);
}
google.maps.event.addDomListener(窗口“加载”,初始化)代码>
您还可以定义可访问的标记的自定义属性$('#divID').load('some.php?id='+marker.markerid)
还要确保打开信息窗口以获得所需的行为哪个信息窗口?问题不是关于infoWindows的。谢谢你的回复。我将尝试这种方法并向您汇报。非常感谢。我想这会对我有帮助的。我刚刚运行了一个快速测试,它加载了一个快速的hello world页面。我将努力传递该值,以便现在可以用真实信息填充它。再次感谢。这增加了太多的复杂性-用户需要单击标记,然后单击信息窗口中的按钮。