Javascript setCenter()和setPosition()不适用于以引导模式显示的google地图-适用于smarty用户

Javascript setCenter()和setPosition()不适用于以引导模式显示的google地图-适用于smarty用户,javascript,jquery,twitter-bootstrap,google-maps,smarty,Javascript,Jquery,Twitter Bootstrap,Google Maps,Smarty,我想以引导模式在谷歌地图上显示用户的位置。 **正在显示地图,但未将信息窗口和标记放置到所需位置** 信息窗口停留在地图的左上角,地图的中心也不正确 我不知道以下代码有什么问题: <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h5 class="modal-title"&g

我想以引导模式在谷歌地图上显示用户的位置。 **正在显示地图,但未将信息窗口和标记放置到所需位置** 信息窗口停留在地图的左上角,地图的中心也不正确

我不知道以下代码有什么问题:

<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h5 class="modal-title">
    <a href="{$system['system_url']}/{$__user['user_name']}">
        <img class="data-avatar" src="{$__user['user_picture']}" alt="{$__user['user_fullname']}">
    </a>

</h5>
</div>
<div class="modal-body">
<button id="startMap" class="hidden js_load-map" latone="{$__user['location_lat']}" lattwo="{$user->_data['location_lat']}" lngone="{$__user['location_long']}" lngtwo="{$user->_data['location_long']}" uone="{$__user['user_fullname']}" utwo="{$user->_data['user_fullname']}"></button>
<div id="map" style="height:600px;"></div>

</div>
{literal}
 <script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBoVJsENlIwPErOfpORfos-ktpIwvzAYw8&callback=initMap">
</script>
<script type="text/javascript">

    _this = $("#startMap");
     latone = _this.attr('latone');
     lattwo = _this.attr('lattwo');
     lngone = _this.attr('lngone');
     lngtwo = _this.attr('lngtwo');
     uone = _this.attr('uone');
     utwo = _this.attr('utwo');
    var map;
    var lat1 = latone;
        var lng1 = lngone;
        var pos1 = new google.maps.LatLng(lat1,lng1);
    var lat2 = lattwo;
        var lng2 = lngtwo;
        // alert(lat2+' and '+lng2);
        var pos2 = new google.maps.LatLng(lat2,lng2);



function initMap() {

      map = new google.maps.Map(document.getElementById('map'), {
      center: {lat: -34.397, lng: 150.644},
      zoom: 150,
      panControl:true,
      zoomControl:true,
      mapTypeControl:true,
      scaleControl:true,
      streetViewControl:true,
      overviewMapControl:true,
      rotateControl:true, 
      mapTypeId:google.maps.MapTypeId.HYBRID
    });
    var infoWindow1 = new google.maps.InfoWindow({map: map});
    var infoWindow2 = new google.maps.InfoWindow({map: map});





        infoWindow1.setPosition(pos1);
            infoWindow1.setContent(uone);

            infoWindow2.setPosition(pos2);
            infoWindow2.setContent(utwo);



          // var marker1=new google.maps.Marker({

          //   position:pos1,
          //   // icon:'1.jpg',
          //   animation:google.maps.Animation.BOUNCE
          //   });

          // marker1.setMap(map);

          // var marker2=new google.maps.Marker({

          //   position:pos2,
          //   // icon:'2.jpg',
          //   animation:google.maps.Animation.BOUNCE
          //   });

          // marker2.setMap(map);



  }
     $('#modal').on('shown.bs.modal', function () {
            google.maps.event.trigger(map, 'resize');

            map.setCenter(pos1);
        });

</script>
{/literal}

×
{literal}
_这=$(“#开始映射”);
latone=_this.attr('latone');
lattwo=_this.attr('lattwo');
lngone=_this.attr('lngone');
lngtwo=_this.attr('lngtwo');
uone=_this.attr('uone');
utwo=_this.attr('utwo');
var映射;
var lat1=latone;
var lng1=lngo;
var pos1=新的google.maps.LatLng(lat1,lng1);
var lat2=lat2;
var lng2=lngtwo;
//警报(lat2+和+lng2);
var pos2=新的google.maps.LatLng(lat2,lng2);
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
中心:{纬度:-34.397,液化天然气:150.644},
缩放:150,
泛控制:对,
动物控制:对,
mapTypeControl:true,
scaleControl:对,
街景控制:对,
overviewMapControl:true,
旋转控制:对,
mapTypeId:google.maps.mapTypeId.HYBRID
});
var infoWindow1=新的google.maps.InfoWindow({map:map});
var infoWindow2=新的google.maps.InfoWindow({map:map});
信息窗口1.设置位置(pos1);
infoWindow1.setContent(uone);
信息窗口2.设置位置(pos2);
infoWindow2.设置内容(utwo);
//var marker1=新的google.maps.Marker({
//位置:pos1,
////图标:“1.jpg”,
//动画:google.maps.animation.BOUNCE
//   });
//marker1.setMap(map);
//var marker2=新的google.maps.Marker({
//位置:pos2,
////图标:“2.jpg”,
//动画:google.maps.animation.BOUNCE
//   });
//marker2.setMap(map);
}
$('#modal').on('show.bs.modal',function(){
google.maps.event.trigger(映射,'resize');
地图设置中心(pos1);
});
{/literal}
我曾跟进过许多类似的案例,例如:

遵循这些教程,我添加了以下代码:

$('#modal').on('show.bs.modal',function(){

google.maps.event.trigger(映射,'resize')

地图设置中心(pos1)

}))

但它对我仍然不起作用


请提供帮助。

这是一个演示,用于显示模型打开并使用
map.setCenter(latlng)初始化谷歌地图

注意这不是上面的代码,但它显示了功能

 var geocoder;

 var map;

 function initialize() {

   geocoder = new google.maps.Geocoder();

   var address = "new delhi";

   geocoder.geocode({
     'address': address
   }, function(results, status) {

     if (status == google.maps.GeocoderStatus.OK) {

       var latitude = results[0].geometry.location.lat();

       var longitude = results[0].geometry.location.lng();
       var latlng = new google.maps.LatLng(latitude, longitude);

       var mapOptions = {

         zoom: 8,

         center: latlng,

         mapTypeId: google.maps.MapTypeId.ROADMAP

       }

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

       var latlng = new google.maps.LatLng(latitude, longitude);
       map.setCenter(latlng); //setCenter

       var marker = new google.maps.Marker({

         map: map,

         position: latlng,
         title: 'Hello World!'

       });
       marker.setPosition(latlng); //setPosition
     }

   });
 }
 //google.maps.event.addDomListener(window, 'load', initialize);
 $('#myModal').on('shown.bs.modal', function() {
   initialize();
 });