【问题标题】:Google map marker not showing in bootstrap modal谷歌地图标记未显示在引导模式中
【发布时间】:2023-03-16 22:36:01
【问题描述】:

谷歌地图标记未显示在引导模式中。

这是我的 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');
  });

它显示 modal ,但不显示地图标记。纬度和经度值来自php代码(即来自while循环值)。

【问题讨论】:

  • 发布的代码中没有任何内容可以向地图添加标记。为什么你认为应该有一个?

标签: javascript php jquery google-maps google-maps-api-3


【解决方案1】:

我相信你没有创建任何 Google Maps Javascript API Markers 对象。

标记标识地图上的位置。默认情况下,标记使用 标准图像。标记可以显示自定义图像,在这种情况下,它们 通常被称为“图标”。

我建议在此行中编辑并添加此代码:

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 :)'
});

然后你的标记就会出现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-08
    • 2014-05-17
    • 1970-01-01
    • 2013-05-18
    • 2011-10-18
    • 1970-01-01
    • 2021-07-07
    相关资源
    最近更新 更多