Javascript 谷歌地图点击标记打开数据库中的URL

Javascript 谷歌地图点击标记打开数据库中的URL,javascript,mysql,google-maps,google-maps-api-3,Javascript,Mysql,Google Maps,Google Maps Api 3,我想用地图在地图上显示景点。这些标记从数据库中提取出来并放在地图上。但是,我想在单击右标记后显示一个网站(放入数据库)。我得到了打开另一个页面的代码,但是,它只显示数据库表中最后一行的ID/URL。如何使其显示每个位置的URL或ID,而不仅仅是最后一个位置 我现在拥有的代码: function load() { var map = new google.maps.Map(document.getElementById("map"), { //defining the

我想用地图在地图上显示景点。这些标记从数据库中提取出来并放在地图上。但是,我想在单击右标记后显示一个网站(放入数据库)。我得到了打开另一个页面的代码,但是,它只显示数据库表中最后一行的ID/URL。如何使其显示每个位置的URL或ID,而不仅仅是最后一个位置

我现在拥有的代码:

    function load() {
    var map = new google.maps.Map(document.getElementById("map"), {
      //defining the location
    center: new google.maps.LatLng(45.466963, 9.188733),
    //defining default map zoom
    zoom: 14,
    //disable scroll wheel function
    scrollwheel: false,
    //disable navigation control
    navigationControl: false,
    //disable map type control
    mapTypeControl: false,
    //disable scaling function
    scaleControl: false,
    //allowing the map to be dragable
    draggable: true,
    //disable user interface e.g. + and - buttons for zoom control
    disableDefaultUI: true

  });
  //creates window that contains defined information
    infoWindow = new google.maps.InfoWindow;


  //pulling the data from the file
  downloadUrl("phpsqlajax_genxml2.php", function(data) {

     //defining variables using data pulled over


    var xml = data.responseXML;
    var markers = xml.documentElement.getElementsByTagName("marker");
    for (var i = 1; i < markers.length; i++) {
        var name = markers[i].getAttribute("name");
        var address = markers[i].getAttribute("address");
        var type = markers[i].getAttribute("type");
        var point = new google.maps.LatLng(
            parseFloat(markers[i].getAttribute("lat")),
            parseFloat(markers[i].getAttribute("lng")));
        var html = "<b>" + name + "</b> <br/>" + address;
        var idd = markers[i].getAttribute("identity");
        var icon = customIcons[type] || {};
        var marker = new google.maps.Marker({
            map: map,
            position: point,
            icon: icon.icon
        });
      //when marker is clicked, it opens the URL of the location
      bindInfoWindow(marker, map, infoWindow, html);
              google.maps.event.addListener(marker, 'click', function () {
                        window.open(idd, '_blank');
                        }); 
    }
  });
}
函数加载(){
var map=new google.maps.map(document.getElementById(“map”){
//定义位置
中心:新google.maps.LatLng(45.466963,9.188733),
//定义默认地图缩放
缩放:14,
//禁用滚轮功能
滚轮:错误,
//禁用导航控制
导航控制:错误,
//禁用映射类型控件
mapTypeControl:false,
//禁用缩放功能
scaleControl:false,
//允许绘制地图
真的,
//禁用用户界面,例如缩放控制的+和-按钮
disableDefaultUI:true
});
//创建包含已定义信息的窗口
infoWindow=新建google.maps.infoWindow;
//从文件中提取数据
下载URL(“phpsqlajax_genxml2.php”,函数(数据){
//使用拉过来的数据定义变量
var xml=data.responseXML;
var markers=xml.documentElement.getElementsByTagName(“标记”);
对于(变量i=1;i“+地址;
var idd=markers[i].getAttribute(“标识”);
var icon=customIcons[type]| |{};
var marker=new google.maps.marker({
地图:地图,
位置:点,,
图标:icon.icon
});
//单击标记时,会打开位置的URL
bindInfoWindow(标记、地图、infoWindow、html);
google.maps.event.addListener(标记,'click',函数(){
窗口。打开(idd,“U空白”);
}); 
}
});
}
我尝试了几个选项,但都没有效果,如果我需要提供更多信息,请说出来,我陷入了僵局

您应该保存每个标记的“标识”值。构建标记时,可以将自定义数据添加到标记中:

var marker = new google.maps.Marker({
        map: map,
        position: point,
        icon: icon.icon,
        idd:idd
    });
然后侦听器应使用此新属性:

google.maps.event.addListener(marker, 'click', function () {
     window.open(this.idd, '_blank');
}); 
您应该保存每个标记的“标识”值。构建标记时,可以将自定义数据添加到标记中:

var marker = new google.maps.Marker({
        map: map,
        position: point,
        icon: icon.icon,
        idd:idd
    });
然后侦听器应使用此新属性:

google.maps.event.addListener(marker, 'click', function () {
     window.open(this.idd, '_blank');
});