2015-05-19 295 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

只是添加比,并没有改变 –