Javascript 谷歌地图API v3标记点击信息窗口

Javascript 谷歌地图API v3标记点击信息窗口,javascript,google-maps,google-maps-markers,infowindow,Javascript,Google Maps,Google Maps Markers,Infowindow,我对infowindow有问题。我在地图上单击时创建了标记,但我也想显示信息窗口。此代码不适用于此部件: google.maps.event.addListener(marker, 'click', function() { infowindow.open(map, marker); }); 下面是代码。。谢谢你的帮助 var pridat; var map; function initialize() { var locc = new google.maps.LatLng(

我对infowindow有问题。我在地图上单击时创建了标记,但我也想显示信息窗口。此代码不适用于此部件:

google.maps.event.addListener(marker, 'click', function() {
    infowindow.open(map, marker);
});
下面是代码。。谢谢你的帮助

var pridat;
var map;

function initialize() {
    var locc = new google.maps.LatLng(49.938682,17.903331);
    var mapOptions = {
        zoom: 14,
        center: locc,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }

    map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
    directionsDisplay.setMap(map);

    var contentwindow = '<div>your point</div>'
    var infowindow = new google.maps.InfoWindow({
        content: contentwindow
    });

    // IF I REMOVE THIS PART -> IT WORKS, BUT WITHOUT INFOWINDOW
    google.maps.event.addListener(marker, 'click', function(){
        infowindow.open(map, marker);
    });
    // END OF PART

    google.maps.event.addListener(map, 'rightclick', function(event) {
        placeMarker(event.latLng);
    });
}

function placeMarker(location) {
    if (marker) {
        marker.setPosition(location);
    } else {
        marker = new google.maps.Marker({
            position: location,
            map: map,
            title: 'My point',
            draggable: true,
        });
    }
}
var-pridat;
var映射;
函数初始化(){
var locc=new google.maps.LatLng(49.938682,17.903331);
变量映射选项={
缩放:14,
中心:locc,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=new google.maps.map(document.getElementById('map-canvas'),mapOptions);
方向显示.setMap(地图);
var contentwindow='您的观点'
var infowindow=new google.maps.infowindow({
内容:contentwindow
});
//如果我删除这个部分->它可以工作,但是没有INFOWINDOW
google.maps.event.addListener(标记'click',函数(){
信息窗口。打开(地图、标记);
});
//部分结束
google.maps.event.addListener(映射,'右键单击',函数(事件){
地点标记(事件标记);
});
}
功能位置标记(位置){
如果(标记){
标记器。设置位置(位置);
}否则{
marker=新的google.maps.marker({
位置:位置,,
地图:地图,
标题:“我的观点”,
真的,
});
}
}

当javascript不起作用时,您应该查看javascript错误。您试图在“标记”存在之前使用它。如果将标记的“单击”侦听器移动到其存在的placeMarker函数中,并使infowindow全局可访问,那么它应该可以工作。你发布的代码没有在地图上做任何标记

var pridat;
var map;
var marker = null;
var infowindow = null;
function initialize() {
 var locc = new google.maps.LatLng(49.938682,17.903331);

 var mapOptions = {
    zoom: 14,
    center: locc,
    mapTypeId: google.maps.MapTypeId.ROADMAP
                  }

map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
directionsDisplay.setMap(map);

var contentwindow = '<div>your point</div>'
infowindow = new google.maps.InfoWindow({
    content: contentwindow
 });

google.maps.event.addListener(map, 'rightclick', function(event) {
placeMarker(event.latLng);
});

}

function placeMarker(location) {
if (marker) {
  marker.setPosition(location);
} else {
 marker = new google.maps.Marker({
      position: location,
      map: map,
      title: 'My point',
      draggable: true,
     });
   // IF I REMOVE THIS PART -> IT WORKS, BUT WITHOUT INFOWINDOW
   google.maps.event.addListener(marker, 'click', function(){
       infowindow.open(map, marker);
   });
 }
}
var-pridat;
var映射;
var-marker=null;
var infowindow=null;
函数初始化(){
var locc=new google.maps.LatLng(49.938682,17.903331);
变量映射选项={
缩放:14,
中心:locc,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=new google.maps.map(document.getElementById('map-canvas'),mapOptions);
方向显示.setMap(地图);
var contentwindow='您的观点'
infowindow=新建google.maps.infowindow({
内容:contentwindow
});
google.maps.event.addListener(映射,'右键单击',函数(事件){
地点标记(事件标记);
});
}
功能位置标记(位置){
如果(标记){
标记器。设置位置(位置);
}否则{
marker=新的google.maps.marker({
位置:位置,,
地图:地图,
标题:“我的观点”,
真的,
});
//如果我删除这个部分->它可以工作,但是没有INFOWINDOW
google.maps.event.addListener(标记'click',函数(){
信息窗口。打开(地图、标记);
});
}
}

非常感谢,你帮了我很多忙。。。但我可以在谷歌浏览器中找到JS错误。我是JS新手,谢谢…Shift-Ctrl-J(或工具:Javascript控制台)