Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在线显示谷歌地图信息窗口_Javascript_Google Maps - Fatal编程技术网

Javascript 在线显示谷歌地图信息窗口

Javascript 在线显示谷歌地图信息窗口,javascript,google-maps,Javascript,Google Maps,如何在文件加载时显示谷歌地图信息窗口?一切都很完美。信息窗口会在点击时弹出,但我不是100%确定如何解决问题,它会在加载时显示 请在下面找到我的代码: <script type="text/javascript"> var infowindow = null; $(document).ready(function() { initialize(); }); function initi

如何在文件加载时显示谷歌地图信息窗口?一切都很完美。信息窗口会在点击时弹出,但我不是100%确定如何解决问题,它会在加载时显示

请在下面找到我的代码:

    <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!
});