Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.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 延迟属性不为';你不能使用谷歌地图API吗?_Javascript_Html_Performance_Google Maps_Deferred - Fatal编程技术网

Javascript 延迟属性不为';你不能使用谷歌地图API吗?

Javascript 延迟属性不为';你不能使用谷歌地图API吗?,javascript,html,performance,google-maps,deferred,Javascript,Html,Performance,Google Maps,Deferred,我试图确保谷歌地图是页面上最后加载的东西,不会对页面性能产生负面影响 当延迟属性放在…sensor=false”之后时,地图不会显示。在谷歌地图中使用延迟属性的最佳方式是什么?这可能吗 <div id="map-canvas"></div> <script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&senso

我试图确保谷歌地图是页面上最后加载的东西,不会对页面性能产生负面影响

当延迟属性放在…sensor=false”之后时,地图不会显示。在谷歌地图中使用延迟属性的最佳方式是什么?这可能吗

 <div id="map-canvas"></div>
        <script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false" defer></script>
        <script defer>
            function initialize() {
                var mapOptions = {
                    center: new google.maps.LatLng(37.7599446, -122.4212681),
                    zoom: 12,
                    panControl: false,
                    disableDefaultUI: true,
                    scrollwheel: false,
                    mapTypeControl: false,
                    mapTypeControlOptions: {
                        style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR
                    },
                    panControlOptions: {
                        position: google.maps.ControlPosition.LEFT_CENTER
                    },
                    zoomControl: true,
                    zoomControlOptions: {
                        position: google.maps.ControlPosition.LEFT_CENTER
                    },
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };

                var map = new google.maps.Map(document.getElementById("map-canvas"),
                    mapOptions);

                var marker = new google.maps.Marker({
                    position: new google.maps.LatLng(37.7599446, -122.4212681),
                    map: map,
                    title: '805 Valencia St. San Francisco, CA'
                });
                var contentString = '<div id="map-content">' +
                    '<div id="siteNotice">' +
                    '</div>' +
                    '<h1 id="firstHeading" class="firstHeading">805 Valencia St.<br>San Francisco, CA</h1>' +
                    '<div id="bodyContent">' +
                    '' +
                    '<ul class="email-list"><li>info@yourbetty.com</li><li>support@yourbetty.com</li><li>press@yourbetty.com</li></ul>' +
                    '</div>' +
                    '</div>';

                var infowindow = new google.maps.InfoWindow({
                    content: contentString,
                    maxWidth: 330
                });

                google.maps.event.addListener(marker, 'click', function () {
                    infowindow.open(map, marker);
                });

            }

            google.maps.event.addDomListener(window, 'load', initialize);
        </script>

函数初始化(){
变量映射选项={
中心:新google.maps.LatLng(37.7599446,-122.4212681),
缩放:12,
泛控制:错误,
disableDefaultUI:true,
滚轮:错误,
mapTypeControl:false,
mapTypeControlOptions:{
样式:google.maps.MapTypeControlStyle.HORIZONTAL\u栏
},
全控选项:{
位置:google.maps.ControlPosition.LEFT_CENTER
},
动物控制:对,
ZoomControl选项:{
位置:google.maps.ControlPosition.LEFT_CENTER
},
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById(“地图画布”),
地图选项);
var marker=new google.maps.marker({
位置:新google.maps.LatLng(37.7599446,-122.4212681),
地图:地图,
标题:“805瓦伦西亚圣城旧金山,CA”
});
var contentString=''+
'' +
'' +
'加利福尼亚州旧金山瓦伦西亚街805号'+
'' +
'' +
“
  • info@yourbetty.com
  • support@yourbetty.com
  • press@yourbetty.com
'+ '' + ''; var infowindow=new google.maps.infowindow({ content:contentString, 最大宽度:330 }); google.maps.event.addListener(标记,'click',函数(){ 信息窗口。打开(地图、标记); }); } google.maps.event.addDomListener(窗口“加载”,初始化);
使用延迟时,必须使用API的异步版本:

<script defer 
  src="http://maps.googleapis.com/maps/api/js?sensor=false&callback=initialize">
</script>
…此时Maps API尚未加载,
google
未定义,初始化将永远不会执行

google.maps.event.addDomListener(window, 'load', initialize);