Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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_Google Maps Api 3_Google Maps Markers - Fatal编程技术网

Javascript 一张桌子上有多个谷歌地图的问题

Javascript 一张桌子上有多个谷歌地图的问题,javascript,google-maps,google-maps-api-3,google-maps-markers,Javascript,Google Maps,Google Maps Api 3,Google Maps Markers,我有一个html表,其中包含10个GoogleMap容器 下面是创建map对象的js函数 函数获取映射的lat和lng+要插入映射的div元素 function GetMap(lat,lng,number) { var show_in=document.getElementsByClassName("map_conteiner")[number]; var mapOptions = { center

我有一个html表,其中包含10个GoogleMap容器

下面是创建map对象的js函数

函数获取映射的lat和lng+要插入映射的div元素

      function GetMap(lat,lng,number) 
      {
        var show_in=document.getElementsByClassName("map_conteiner")[number];
        var mapOptions = {
          center: new google.maps.LatLng(lat, lng),
          zoom: 8,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(show_in,
            mapOptions);
            
        var marker = new google.maps.Marker({
             position:new google.maps.LatLng(lat,lng),
             map: map,
             title:"Hotel"
           });
           
          $(show_in).fadeIn();
      }
问题在于,只有在第一次调用此函数时,映射才会正确显示

(无论我从哪个部门开始)

第一次调用后,此函数将始终显示扭曲的贴图(如附件中所示)


您应该
完成
$.fadeIn()的
-callback中触发
调整映射大小的
-event


此外,最好只为每个
map\u contenner
创建一个maps实例,并且在后续调用
GetMap
时,只为标记设置现有映射的新
中心和新的
位置。如果我错了,请纠正我,但每次该方法创建新的google.maps.map 2时,我都会为每个map\u上下文使用每个1实例map\u上下文。您可以更具体一点吗?如何在$.fadeIn()1的完整回调中触发贴图的调整大小事件。是的,每个map_contenner只有一个map实例,但是每次调用GetMap时都会创建一个新的map实例,并放弃以前创建的实例(不必要的操作会降低应用程序的速度并增加map负载,当您经常这样做并使用maps键时,这将是一个重要的副作用)2<代码>$(show_in).fadeIn(函数(){google.maps.event.trigger(映射,'resize');})