Javascript 在线显示谷歌地图信息窗口
如何在文件加载时显示谷歌地图信息窗口?一切都很完美。信息窗口会在点击时弹出,但我不是100%确定如何解决问题,它会在加载时显示 请在下面找到我的代码:Javascript 在线显示谷歌地图信息窗口,javascript,google-maps,Javascript,Google Maps,如何在文件加载时显示谷歌地图信息窗口?一切都很完美。信息窗口会在点击时弹出,但我不是100%确定如何解决问题,它会在加载时显示 请在下面找到我的代码: <script type="text/javascript"> var infowindow = null; $(document).ready(function() { initialize(); }); function initi
<script type="text/javascript">
var infowindow = null;
$(document).ready(function() {
initialize();
});
function initialize() {
var centerMap = new google.maps.LatLng(52, 10);
var myOptions = {
zoom: 5,
center: centerMap,
scrollwheel: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("maps"), myOptions);
setMarkers(map, sites);
infowindow = new google.maps.InfoWindow({
content: "loading...",
maxWidth: 60
});
var bikeLayer = new google.maps.BicyclingLayer();
bikeLayer.setMap(map);
}
var sites = [
// array here
];
function setMarkers(map, markers) {
for (var i = 0; i < markers.length; i++) {
var sites = markers[i];
var siteLatLng = new google.maps.LatLng(sites[1], sites[2]);
var marker = new google.maps.Marker({
position: siteLatLng,
map: map,
title: sites[0],
zIndex: sites[3],
html: sites[4]
});
var contentString = "Google Maps";
google.maps.event.addListener(marker, "click", function () {
infowindow.setContent(this.html);
infowindow.open(map, this);
});
}
}
</script>
var infowindow=null;
$(文档).ready(函数(){
初始化();
});
函数初始化(){
var centerMap=newgoogle.maps.LatLng(52,10);
变量myOptions={
缩放:5,
中心:中心地图,
滚轮:错误,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
var map=new google.maps.map(document.getElementById(“maps”),myOptions);
设置标记(地图、地点);
infowindow=新建google.maps.infowindow({
内容:“加载…”,
最大宽度:60
});
var bikeLayer=new google.maps.BicyclingLayer();
bikeLayer.setMap(map);
}
变量站点=[
//在这里排列
];
函数集合标记(映射、标记){
对于(var i=0;i
关于你的问题,我有个建议。这是在映射加载后,通过代码javascript使用函数触发器单击标记
示例
google.maps.event.trigger(标记“单击”)代码>
您正在单击事件中调用InfoWindow.open()方法。要打开信息窗口onLoad,必须在initialize函数中调用它。或者可以将其添加到addDomListener()中。
请参阅:对每个标记使用单独的信息窗口,您可以将它们全部打开。有关详细信息,请参阅代码段:
html,
身体,
#地图{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}
var infowindow=null;
google.maps.event.addDomListener(窗口“加载”,初始化);
函数初始化(){
var centerMap=newgoogle.maps.LatLng(52,10);
变量myOptions={
缩放:5,
中心:中心地图,
滚轮:错误,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
var map=new google.maps.map(document.getElementById(“maps”),myOptions);
设置标记(地图、地点);
var bikeLayer=new google.maps.BicyclingLayer();
bikeLayer.setMap(map);
}
变量站点=[
[“这是一个标题”,52,10,10,“这是第一个网站”]
];
函数集合标记(映射、标记){
对于(var i=0;i
trigger marker click:3flow answer Call infowindow.open可在加载时打开信息窗口,并在完成后将其关闭。是否有人可以提供上述代码的工作示例?加载时要打开哪个信息窗口?抱歉,但“同类讨论”是关于onclick事件而不是onload。是的。要将方法添加到onload函数,可以尝试以下infoWindow=new google.maps.infoWindow();google.maps.event.addListener(infoWindow,'DOMContentLoaded',function(){//Here call infoWindow.open()method});但是我如何调整它以适应我的代码呢?我不知道我怎么能解决这个问题……我一直都在失败,即使以你为例。如何以及在何处将其放入代码中:(谢谢,但如果“marker”仅在SetMarker函数中调用,如何使其成为全局的?我看不出您如何显示如何使我的SetMarker函数“marker”变量成为全局的…您的onload脚本告诉我未定义的marker,当然(你能看一下我的代码并告诉我怎么做吗?我理解你的解决方法,但我不知道如何重新开发我的结构是的,所有窗口都在加载:(
<script>
$(document).ready(function(){
google.maps.event.trigger(marker, 'click'); //with marker is global validate
});
</scrip>
<script type="text/javascript">
var infowindow = null;
var marker = null; //declare marker to global
...
</script>
var _markers = [];
function setMarkers(map, markers) {
for (var i = 0; i < markers.length; i++) {
var sites = markers[i];
var siteLatLng = new google.maps.LatLng(sites[1], sites[2]);
_markers[i] = new google.maps.Marker({
position: siteLatLng,
map: map,
title: sites[0],
zIndex: sites[3],
html: sites[4]
});
var contentString = "Google Maps";
google.maps.event.addListener(_markers[i], "click", function () {
infowindow.setContent(this.html);
infowindow.open(map, this);
});
}
}
$(document).ready(function() {
initialize();
for(var i = 0, count = _markers.length; i<count; i++){
google.maps.event.trigger(_markers[i], 'click');
}
});
google.maps.event.addListener(map, 'tilesloaded', function() {
// Visible tiles loaded!
});