Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php循环中的多个google地图,带有javascript和引用id_Javascript_Php_Html_Google Maps Api 3 - Fatal编程技术网

php循环中的多个google地图,带有javascript和引用id

php循环中的多个google地图,带有javascript和引用id,javascript,php,html,google-maps-api-3,Javascript,Php,Html,Google Maps Api 3,我尝试为php循环中的所有项生成映射 html: 活动概述 ID中的数字没有问题 div没有onload-事件,函数永远不会被调用 可能的解决办法: window.onload = function(){ var maps = document.querySelectorAll('div[id^="map-canvas-"]'); for(var i =0; i < maps.length; ++i ){ maps[i].onload(); } } window

我尝试为php循环中的所有项生成映射

html:


活动概述


ID中的数字没有问题

div没有
onload
-事件,函数永远不会被调用

可能的解决办法:

window.onload = function(){
  var maps = document.querySelectorAll('div[id^="map-canvas-"]');
  for(var i  =0; i < maps.length; ++i ){
    maps[i].onload();
  }
}
window.onload=function(){
var-maps=document.querySelectorAll('div[id^=“map canvas-“]”);
对于(变量i=0;i
生成的HTML是什么样子的?
第二个参数是字符串,因此需要用引号包装。我得到了“Uncaught SyntaxError:Unexpected token}”google_reference_id是一个字符串,必须用引号括起来。错误发生在for循环的结束括号处。但是在google参考id中添加了引号。你是对的,抱歉,将引号改为撇号。html上没有地图。我试着用小提琴来检查google地图和getElementById选择器是否有问题。只需用一个数字来检查它是否工作。删除这个号码,它就工作了。
<script>
  function renderMap(event_id, google_reference_id) {
    var map_settings = <?php echo json_encode($this->events); ?>;

    var request = {
      reference: google_reference_id
    };

    var map = new google.maps.Map(document.getElementById('map-canvas-'+ event_id));
    var infowindow = new google.maps.InfoWindow();
    var service = new google.maps.places.PlacesService(map);

    service.getDetails(request, function(place, status) {
      if (status == google.maps.places.PlacesServiceStatus.OK) {

        var marker = new google.maps.Marker({
          map: map,
          position: place.geometry.location
        });

        if (place.geometry.viewport) {
          map.fitBounds(place.geometry.viewport);
        } else {
          map.setCenter(place.geometry.location);
          map.setZoom(15);
        }

        google.maps.event.addListener(marker, 'click', function() {
          infowindow.setContent(place.name);
          infowindow.open(map, this);
        });
      }
    });
  }
</script>
window.onload = function(){
  var maps = document.querySelectorAll('div[id^="map-canvas-"]');
  for(var i  =0; i < maps.length; ++i ){
    maps[i].onload();
  }
}