google地图标记未显示在bootstrap模式中。
这是我的jquery代码:
function map_init() {
if(!$('body').data('map')){
var var_mapoptions = {
zoom: 6,
mapTypeControl: true,
mapTypeControlOptions: {
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU,
mapTypeIds: ['roadmap', 'terrain']
}
};
$('body').data('map',new google.maps.Map($('<div id="map"/>')[0],
var_mapoptions));
}
return $('body').data('map');
}
var Lat;
var lon;
$(document).on('click','a[data-map]',function(){
var data=$(this).data('map'),
map=map_init();
var geocoder = new google.maps.Geocoder();
var address = data;
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();
}
Lat = latitude;
lon = longitude;
});
$('#map_modal')
.find('.modal-body')
.append(map.getDiv())
.end()
.find('.modal-title')
.text(data.Name)
.end()
.one('shown.bs.modal',function(){
google.maps.event.trigger(map, "resize");
map.setCenter({lat:Lat,lng:lon});
});
})
.modal('show');
});
它显示模态,但没有显示地图标记。纬度和经度值来自php代码(来自while循环值)。
答案 0 :(得分:0)
我相信你没有创建任何 Google Maps Javascript API Markers 对象。
标记用于标识地图上的位置。默认情况下,标记使用a 标准图像。标记可以显示自定义图像,在这种情况下它们 通常被称为&#34;图标。&#34;
我建议编辑并在此行中添加此代码:
if ( status == google.maps.GeocoderStatus.OK ) {
//add marker code here
}
要添加的代码:
var marker = new google.maps.Marker({
positions : new google.maps.LatLng(results[0].geometry.location.lat(), results[0].geometry.location.lng() ),
map: map,
title: 'I am a marker :)'
});
你的标记会出现。