点击标记时谷歌地图信息框不起作用
Google Maps infobox not working when clicking marker
我在页面加载时设置了一个隐藏信息框的谷歌地图。要打开信息框,我会点击自定义标记(引脚),信息框就会显示出来。如果我第二次点击标记,信息框就会关闭。
现在,自从最新的谷歌地图。信息框会在加载时自动打开,单击标记不会执行任何操作。不关闭,不打开。
这是信息框的代码。
谢谢大家!
// infobox
var $infoboxText =
$('<div class="inner">').html(contentHtml);
var myOptions = {
boxClass:'gmap_infobox',
content:$infoboxText.get(0),
disableAutoPan:false,
maxWidth:0,
alignBottom:false,
pixelOffset:new google.maps.Size(0, 0),
zIndex:null,
closeBoxURL:"",
infoBoxClearance:new google.maps.Size(1, 1),
isHidden:false,
pane:"floatPane",
enableEventPropagation:false
};
var InfoBoxClose = function () {
myOptions.boxClass = 'gmap_infobox';
ib.setOptions(myOptions);
};
var InfoBoxOpen = function () {
var $content = $(myOptions.content);
if ($content.html().length > 0) {
myOptions.boxClass = $content.is(':visible') ? 'gmap_infobox' : 'gmap_infobox gmap_infobox--visible';
ib.setOptions(myOptions);
}
};
InfoBox.prototype.getCloseClickHandler_ = function () {
return handleInfoBoxClose;
};
var ib = new InfoBox(myOptions);
ib.open(map, marker);
if (config.marker === 'open-bubble') {
InfoBoxOpen();
}
// listeners
google.maps.event.addListener(marker, 'click', function() {
InfoBoxOpen();
});
}
首先,浏览一下这个:引用api。特别是关于InfoWindow和InfoWindowOptions的部分。
然后试试
var map, myInfoWindow;
function initialize() {
//Create the map
var mapOptions = {
zoom: 4,
center: new google.maps.LatLng(38.8282, -98.5795),
};
map = new google.maps.Map(document.getElementById('map_canvas'),mapOptions);
//Create the infoWindow
var iwOptions = {content: "stuff"}; //put your infowindow options here
myInfoWindow = new google.maps.InfoWindow(iwOptions);
//coordinates for marker placement
var myLatLng = [
new google.maps.LatLng(32, -83),
new google.maps.LatLng(41, -90),
new google.maps.LatLng(38, -109)
];
//Create markers
for(var i=0; i<myLatLng.length; i++){
var marker = new google.maps.Marker({
position: myLatLng[i],
map: map
})
//This is the important part: add this to each of you markers
google.maps.event.addListener(marker, 'click', function(){
if( myInfoWindow.anchor === this ){
myInfoWindow.close();
} else {
myInfoWindow.open(map, this);
}
});
}
}
google.maps.event.addDomListener(window, 'load', initialize);
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Recaptcha在IE7和IE8中不起作用
- Ember Data DS.Model's set函数不起作用
- JsFiddle上的鼠标事件不起作用
- 我的AngularJS表达式没有'不起作用
- 点击按钮输入不起作用
- YouTube V3 API——按持续时间过滤相关视频信息,不;似乎不起作用
- 这里地图中的信息气泡不起作用
- PHP if 基于输入信息的函数不起作用
- CORS标头包含信息,但Angular js$http.get不起作用
- 点击标记时谷歌地图信息框不起作用
- 将信息从表单值推送到对象不起作用
- 谷歌地图Api获取详细信息请求不起作用
- Bing地图信息框setHtmlContent没有'不起作用
- Gmaps4Rails-自定义信息窗口不起作用
- 提交按钮在IE/Safari中不起作用,在Chrome中起作用,但表单信息无法通过
- 在信息框中单击右键不起作用