Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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 不显示地图和多个标记_Php_Javascript_Html_Google Maps_Google Maps Api 3 - Fatal编程技术网

Php 不显示地图和多个标记

Php 不显示地图和多个标记,php,javascript,html,google-maps,google-maps-api-3,Php,Javascript,Html,Google Maps,Google Maps Api 3,我试着在谷歌地图上显示很多标记。在很多情况下都很好 我显示一个标记 我写了不同标记的GPS定位 我有一个包含经度、纬度值的数据库 我想将这些值显示为地图上的标记 这里是一个尝试,但不起作用,请帮助我,我已经花了一整天:/ <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <titl

我试着在谷歌地图上显示很多标记。在很多情况下都很好

  • 我显示一个标记
  • 我写了不同标记的GPS定位
  • 我有一个包含经度、纬度值的数据库 我想将这些值显示为地图上的标记

    这里是一个尝试,但不起作用,请帮助我,我已经花了一整天:/

    <!DOCTYPE html>
    <html> 
    <head> 
      <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
      <title>multi-marqueurs</title> 
      <script src="http://maps.google.com/maps/api/js?sensor=false"
              type="text/javascript"></script>
    </head> 
    <body>
    <? php
    
    $connexion=mysql_connect("localhost", "root", "") or die(mysql_error());
    mysql_select_db("project",$connexion) or die(mysql_error());
    
    
    $result = mysql_query("SELECT lattitude,longitude FROM intervenantconn ");
    
    
    $listeDesPoints='';
    while($row = mysql_fetch_array($result)){
      if($listeDesPoints!='') $listeDesPoints.=','; 
      $listeDesPoints.='['.$row['lattitude'].','.$row['longitude'].']';
    }
    
    mysql_close($connexion);
    ?>
      <div id="map" style="width: 600px; height: 550px;"></div>
    
      <script type="text/javascript">
    
    var listedespoints=[
                          <? php  echo $listeDesPoints; ?>
                        ];
    
        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 6,
          center: new google.maps.LatLng(47.4,1.6),
              mapTypeControl: true,
            mapTypeControlOptions: {
          style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
        },
        navigationControl: true,
         navigationControlOptions: {
            style: google.maps.NavigationControlStyle.SMALL,
            position: google.maps.ControlPosition.TOP_RIGHT
        },
            scaleControl: true,
        streetViewControl: false,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        });
    
        var infowindow = new google.maps.InfoWindow();
    
        var marker, i;
    
       for (i = 0; i < liste_des_points.length; i++) {  
          marker = new google.maps.Marker({
            position: new google.maps.LatLng(liste_des_points[i][1], liste_des_points[i][2]),
            map: map
          });
    
          google.maps.event.addListener(marker, 'click', (function(marker, i) {
            return function() {
              infowindow.setContent(locations[i][0]);
              infowindow.open(map, marker);
            }
          })(marker, i));
        }
    
      </script>
    </body>
    </html>
    
    
    多侯爵
    绝望=[
    ];
    var map=new google.maps.map(document.getElementById('map'){
    缩放:6,
    中心:新google.maps.LatLng(47.4,1.6),
    mapTypeControl:true,
    mapTypeControlOptions:{
    样式:google.maps.MapTypeControlStyle.DROPDOWN_菜单
    },
    导航控制:对,
    导航控制选项:{
    样式:google.maps.NavigationControlStyle.SMALL,
    位置:google.maps.ControlPosition.TOP\u右
    },
    scaleControl:对,
    街景控制:错误,
    mapTypeId:google.maps.mapTypeId.ROADMAP
    });
    var infowindow=new google.maps.infowindow();
    var标记,i;
    对于(i=0;i
    1)正如@mauno-v告诉你的那样,你使用
    列出点而不是
    列出点来循环

    2) 在循环中,您使用第二个和第三个条目
    liste des_points[i][1],liste des_points[i][2]
    ,而您只创建了两个条目

    3) 在单击事件时,使用未定义位置的
    位置[i][0]

    因此,创建一个包含三个条目的列表
    [‘位置名称’、‘纬度’、‘经度’]
    ,或者更改索引和变量名称

    见下文:

    <?
    error_reporting(E_ALL);
    ini_set('error_reporting','on');
    ?>
    <!DOCTYPE html>
    <html> 
    <head> 
      <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
      <title>multi-marqueurs</title> 
      <script src="http://maps.google.com/maps/api/js?sensor=false"
              type="text/javascript"></script>
    </head> 
    <body>
    <?php
    
    /*$connexion=mysql_connect("localhost", "root", "") or die(mysql_error());
    mysql_select_db("project",$connexion) or die(mysql_error());
    
    
    $result = mysql_query("SELECT lattitude,longitude FROM intervenantconn ");
    
    
    $listeDesPoints='';
    while($row = mysql_fetch_array($result)){
      if($listeDesPoints!='') $listeDesPoints.=','; 
      $listeDesPoints.='['.$row['lattitude'].','.$row['longitude'].']';
    }
    mysql_close($connexion);*/
    
    $listeDesPoints='[\'Location 1\',47.45,2],[\'Location 2\',47.46,1.6],[\'Location 2\',47.47,1]';
    ?>
      <div id="map" style="width: 600px; height: 550px;"></div>
    
      <script type="text/javascript">
    
    var liste_des_points=[
                          <?php  echo $listeDesPoints; ?>
                        ];
    
        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 6,
          center: new google.maps.LatLng(47.4,1.6),
              mapTypeControl: true,
            mapTypeControlOptions: {
          style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
        },
        navigationControl: true,
         navigationControlOptions: {
            style: google.maps.NavigationControlStyle.SMALL,
            position: google.maps.ControlPosition.TOP_RIGHT
        },
            scaleControl: true,
        streetViewControl: false,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        });
    
        var infowindow = new google.maps.InfoWindow();
    
        var marker, i;
    
       for (i = 0; i < liste_des_points.length; i++) {  
          marker = new google.maps.Marker({
            position: new google.maps.LatLng(liste_des_points[i][1], liste_des_points[i][2]),
            map: map
          });
    
          google.maps.event.addListener(marker, 'click', (function(marker, i) {
            return function() {
              infowindow.setContent(liste_des_points[i][0]);
              infowindow.open(map, marker);
            }
          })(marker, i));
        }
    
      </script>
    </body>
    </html>
    
    
    多侯爵
    var liste_des_点=[
    ];
    var map=new google.maps.map(document.getElementById('map'){
    缩放:6,
    中心:新google.maps.LatLng(47.4,1.6),
    mapTypeControl:true,
    mapTypeControlOptions:{
    样式:google.maps.MapTypeControlStyle.DROPDOWN_菜单
    },
    导航控制:对,
    导航控制选项:{
    样式:google.maps.NavigationControlStyle.SMALL,
    位置:google.maps.ControlPosition.TOP\u右
    },
    scaleControl:对,
    街景控制:错误,
    mapTypeId:google.maps.mapTypeId.ROADMAP
    });
    var infowindow=new google.maps.infowindow();
    var标记,i;
    对于(i=0;i
    您是否注意到您正在尝试循环liste des_points而不是ListedSpoints?另外,您是否正在查看javascript控制台?这会给您带来一些错误吗?:)未捕获的语法错误:意外标记<:////显示
    var\u转储($listedspoints)mysql\u关闭前($connexion);对不起,我是j2ee研究者,这是不是意味着我放了一个echo变量转储($listedspoints)?是并显示结果
    var\u dump($listedspoints)仍然是“uncaughtsyntaxerror:uncontractedtoken<”,对于静态位置,我可以获得所有标记。但是从mysql表:/需要我一整天:“(…我更改你告诉我要更改的所有内容(循环,静态列表)