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}
我曾跟进过许多类似的案例,例如:
请提供帮助。这是一个演示,用于显示模型打开并使用
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();
});