2017-11-22 2 views
0

Google-Kartenmarkierung wird im Bootstrap-Modus nicht angezeigt.Google-Kartenmarkierung wird nicht im Bootstrap-Modus angezeigt

das ist mein jQuery-Code:

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

enter image description here

es modal zeigt, aber nicht die Markierung auf der Karte zeigen. Die Breiten- und Längenwerte stammen aus dem PHP-Code (also aus dem While-Loop-Wert).

+1

Es gibt nichts im veröffentlichten Code, das der Karte einen Marker hinzufügen würde. Warum glaubst du, dass es einen geben sollte? – geocodezip

Antwort

0

Ich glaube, Sie haben keine Google Maps Javascript API Markers Objekt erstellt.

Ein Marker identifiziert einen Standort auf einer Karte. Standardmäßig verwendet eine Markierung ein Standardbild. Markierungen können benutzerdefinierte Bilder anzeigen. In diesem Fall werden sie normalerweise als "Symbole" bezeichnet.

würde ich vorschlagen, diesen Code in dieser Zeile zu bearbeiten und hinzufügen:

if (status == google.maps.GeocoderStatus.OK) { 
    //add marker code here 
} 

Code hinzugefügt werden:

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

Und Ihre Markierung erscheint.

Verwandte Themen