2015-05-19 359 views
-1

出於某種原因,我無法在Google地圖上顯示標記 - 地圖本身加載正常 - 它只是我缺少的標記。我試着移動所有的代碼,以防萬一它是一個範圍問題,到目前爲止還沒有運氣。谷歌地圖不顯示標記

$(document).ready(function ($) { 

     var myLatLng = new google.maps.LatLng(document.getElementById('Latitude').value, document.getElementById('Longitude').value); 
     var marker = new google.maps.Marker({ position: myLatLng, visible: true }); 

     function init_map() { 

      var myOptions = { 
       zoom: 14, 
       center: myLatLng, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
      }; 

      var map = new google.maps.Map(document.getElementById("gmap_canvas"), myOptions); 
      marker.setMap(map); 

      $(window).resize(function() { 
       google.maps.event.trigger(map, 'resize'); 
      }); 

      $('#accordion > .panel').on('show.bs.collapse', function (e) { 
       google.maps.event.trigger(map, 'resize'); 
       google.maps.event.addListener(marker, "click", function() { infowindow.open(map, marker); }); 
       var heading = $(this).find('.panel-heading'); 
       heading.addClass("active-panel"); 
      }); 

      $('#accordion > .panel').on('hidden.bs.collapse', function (e) { 
       var heading = $(this).find('.panel-heading'); 
       heading.removeClass("active-panel"); 
       google.maps.event.trigger(map, 'resize'); 
       google.maps.event.addListener(marker, "click", function() { infowindow.open(map, marker); }); 

      }) 
     } 


     google.maps.event.addDomListener(window, 'load', init_map); 


    }); 
+0

請創建一個小提琴,標誌代碼看起來是正確的 - 猜測LAT長的部分不能正常工作。 –

+0

https://jsfiddle.net/w8ekcjj8/ –

+0

你的小提琴HTML不包含任何「緯度」或「經度」元素 – duncan

回答

1

Update Fiddle

$(function() { 
     init_map(); 
    }); 

function init_map() { 

    var myLatLng = new google.maps.LatLng(parseFloat(document.getElementById('Latitude').value), 
    parseFloat(document.getElementById('Longitude').value)); 

     var marker = new google.maps.Marker({ position: myLatLng, visible: true }); 

     var myOptions = { 
      zoom: 4, 
      center: myLatLng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 

     var map = new google.maps.Map(document.getElementById("gmap_canvas"), myOptions); 
     marker.setMap(map); 
} 
0

你可能需要到document.getElementById('...').value正在恢復,到浮點數的字符串轉換,谷歌地圖會想到:

var myLatLng = new google.maps.LatLng(
    parseFloat(document.getElementById('Latitude').value), 
    parseFloat(document.getElementById('Longitude').value) 
); 

這不是問題,但你不應該定義你的事件監聽器內另一個事件偵聽器,就像你在這裏做什麼:

$('#accordion > .panel').on('show.bs.collapse', function (e) { 
    ... 
    google.maps.event.addListener(marker, "click", function() { infowindow.open(map, marker); }); 
}); 

只要做到這一點,當你創建標記。

+0

只是添加比,並沒有改變 –