Javascript 在一个页面上加载多个google地图

Javascript 在一个页面上加载多个google地图,javascript,html,performance,google-maps,Javascript,Html,Performance,Google Maps,我试图在一个页面上加载多个谷歌地图,但页面加载时间非常长。如何加快页面加载时间 下面是我的html代码示例。实际上,下面谷歌地图是在一个循环中创建的,它们的数量至少是100 <!DOCTYPE html> <html> <head> </head> <body> <script src="https://maps.googleapis.com/maps/api/js?v=3.e

我试图在一个页面上加载多个谷歌地图,但页面加载时间非常长。如何加快页面加载时间

下面是我的html代码示例。实际上,下面谷歌地图是在一个循环中创建的,它们的数量至少是100

    <!DOCTYPE html>
<html>
<head>        
</head>

<body>          
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places"></script>

    <div id="postid_78" style="width:600px;height:150px;">
        <script>                    
                var mapProp = {
                    center: new google.maps.LatLng('42.5000', '1.5000'),
                    zoom: 5,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };
                var map = new google.maps.Map(document.getElementById("postid_78"), mapProp);
                var marker = new google.maps.Marker({
                    position: new google.maps.LatLng('42.5000', '1.5000'),
                    map: map
                });
        </script>                
    </div>
    <hr />
    <div id="postid_77" style="width:600px;height:150px;">
        <script>                    
                var mapProp = {
                    center: new google.maps.LatLng('42.5000', '1.5000'),
                    zoom: 5,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };
                var map = new google.maps.Map(document.getElementById("postid_77"), mapProp);
                var marker = new google.maps.Marker({
                    position: new google.maps.LatLng('42.5000', '1.5000'),
                    map: map
                });
        </script>                
    </div>
    <hr />
    <div id="postid_76" style="width:600px;height:150px;">
        <script>                    
                var mapProp = {
                    center: new google.maps.LatLng('42.5000', '1.5000'),
                    zoom: 5,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };
                var map = new google.maps.Map(document.getElementById("postid_76"), mapProp);
                var marker = new google.maps.Marker({
                    position: new google.maps.LatLng('42.5000', '1.5000'),
                    map: map
                });
        </script>                
    </div>
    <hr />
    <div id="postid_75" style="width:600px;height:150px;">
        <script>                    
                var mapProp = {
                    center: new google.maps.LatLng('42.5000', '1.5000'),
                    zoom: 5,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };
                var map = new google.maps.Map(document.getElementById("postid_75"), mapProp);
                var marker = new google.maps.Marker({
                    position: new google.maps.LatLng('42.5000', '1.5000'),
                    map: map
                });
        </script>                
    </div>
    <hr />
    <div id="postid_74" style="width:600px;height:150px;">
        <script>                    
                var mapProp = {
                    center: new google.maps.LatLng('42.5000', '1.5000'),
                    zoom: 5,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };
                var map = new google.maps.Map(document.getElementById("postid_74"), mapProp);
                var marker = new google.maps.Marker({
                    position: new google.maps.LatLng('42.5000', '1.5000'),
                    map: map
                });
        </script>                
    </div>
    <hr />
    <div id="postid_73" style="width:600px;height:150px;">
        <script>                    
                var mapProp = {
                    center: new google.maps.LatLng('42.5000', '1.5000'),
                    zoom: 5,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };
                var map = new google.maps.Map(document.getElementById("postid_73"), mapProp);
                var marker = new google.maps.Marker({
                    position: new google.maps.LatLng('42.5000', '1.5000'),
                    map: map
                });
        </script>                
    </div>

</body>
</html>

var mapProp={
中心:新的google.maps.LatLng('42.5000','1.5000'),
缩放:5,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById(“postid_78”),mapProp);
var marker=new google.maps.marker({
职位:新google.maps.LatLng('42.5000','1.5000'),
地图:地图
});

var mapProp={ 中心:新的google.maps.LatLng('42.5000','1.5000'), 缩放:5, mapTypeId:google.maps.mapTypeId.ROADMAP }; var map=new google.maps.map(document.getElementById(“postid_77”),mapProp); var marker=new google.maps.marker({ 职位:新google.maps.LatLng('42.5000','1.5000'), 地图:地图 });
var mapProp={ 中心:新的google.maps.LatLng('42.5000','1.5000'), 缩放:5, mapTypeId:google.maps.mapTypeId.ROADMAP }; var map=new google.maps.map(document.getElementById(“postid_76”),mapProp); var marker=new google.maps.marker({ 职位:新google.maps.LatLng('42.5000','1.5000'), 地图:地图 });
var mapProp={ 中心:新的google.maps.LatLng('42.5000','1.5000'), 缩放:5, mapTypeId:google.maps.mapTypeId.ROADMAP }; var map=new google.maps.map(document.getElementById(“postid_75”),mapProp); var marker=new google.maps.marker({ 职位:新google.maps.LatLng('42.5000','1.5000'), 地图:地图 });
var mapProp={ 中心:新的google.maps.LatLng('42.5000','1.5000'), 缩放:5, mapTypeId:google.maps.mapTypeId.ROADMAP }; var map=new google.maps.map(document.getElementById(“postid_74”),mapProp); var marker=new google.maps.marker({ 职位:新google.maps.LatLng('42.5000','1.5000'), 地图:地图 });
var mapProp={ 中心:新的google.maps.LatLng('42.5000','1.5000'), 缩放:5, mapTypeId:google.maps.mapTypeId.ROADMAP }; var map=new google.maps.map(document.getElementById(“postid_73”),mapProp); var marker=new google.maps.marker({ 职位:新google.maps.LatLng('42.5000','1.5000'), 地图:地图 });
要提高页面加载速度,您可以(必须)做几件事

  • 异步加载API
  • 仅当贴图在视口中可见时才初始化贴图 因此,您可以使用插件
  • 另外,将JS脚本始终放在body标记的底部。 因此,所有内容都会被加载,没有javascript会拒绝加载内容

  • 这将真正增加页面负载。我在几个项目上都做过,效果很好

    与其加载多个地图,不如在一个地图上添加多个标记,但这取决于您的计算机/浏览器。修改自。它需要是多个映射,这是设计规则。