Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.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和Javascript的GoogleMapAPI_Javascript_Html_Google Maps Api 3 - Fatal编程技术网

使用PHP和Javascript的GoogleMapAPI

使用PHP和Javascript的GoogleMapAPI,javascript,html,google-maps-api-3,Javascript,Html,Google Maps Api 3,我是HTML5领域的新手,我正在尝试制作一个程序,用PHP从mysql获取数据,并使用地理代码将地址转换为Latlng。这是一个LBS程序,我尝试了2周,我的问题是我不能把标记放进谷歌地图,我做了定位更正,地图被加载,但标记不能在地图上着陆,请帮助!!谢谢你,我真的很感谢你的帮助。如果这个代码有任何错误或问题,请给我慷慨的建议,我在这个领域非常新,我正在努力学习更多的HTML5JavaScript,谢谢你,我非常感谢你的建议 我的代码在这里: 'enter code h

我是HTML5领域的新手,我正在尝试制作一个程序,用PHP从mysql获取数据,并使用地理代码将地址转换为Latlng。这是一个LBS程序,我尝试了2周,我的问题是我不能把标记放进谷歌地图,我做了定位更正,地图被加载,但标记不能在地图上着陆,请帮助!!谢谢你,我真的很感谢你的帮助。如果这个代码有任何错误或问题,请给我慷慨的建议,我在这个领域非常新,我正在努力学习更多的HTML5JavaScript,谢谢你,我非常感谢你的建议

我的代码在这里:

             'enter code here`<?php
              require_once 'Common/system_start.php';
              $sql="select addr from tab_mem order by sn desc ";
              $result=  mysql_query($sql);
              $data=mysql_fetch_assoc($result);
              $row=mysql_num_rows($result);
              $n = array(); 
              for($i=0;$i<$rows;$i++) 
                  { 
                   $data=mysql_fetch_row($result);
                   $n[] = $data[0]; 
                      } 
                   echo '<script type="text/javascript">'; 
                   echo var n = new Array("', join($n,'","'), '");'; 
                   echo '</script>'; 
                   ?> 
                   <code>

              <pre>
             <!DOCTYPE html>
             <html><head><meta charset="utf-8">

             <meta name="viewport" content="initial-scale=1.0,user-scalable=no"/>
             <!-- Google Maps -->
             <script type="text/javascript" src="http://maps.google.com/maps/api/js?                                  `enter code here`sensor=true"></script>

             <script type="text/javascript" charset="utf-8" src="cordova-1.6.0.js">
             </script>
             <!-- program main -->
             <script type="text/javascript">
              var iterator=0;
              markers=n;
              var a=n.length;


             function load() {
             var map_div = document.getElementById("map_div");

             //initial locator
             navigator.geolocation.watchPosition(onSuccess, onError, { frequency: 3000        `enter code here`});


              // decide location
        function onSuccess(position){



//fetching latlng from GPS 

              var latlng = new google.maps.LatLng(position.coords.latitude, 
                `position.coords.longitude);

                 // display map
                 var gmap = new google.maps.Map(
                     map_div, {
                     zoom:16,
                     center: latlng,
                     mapTypeId: google.maps.MapTypeId.ROADMAP
                   });




                       //drop the marker

                     function drop() {
                     for (var i = 0; i < a; i++) {
                     setTimeout(function() {
                       }, i * 200);
                      }
                     }



            //decode address to latlng
            //pass address data from PHP
          for(var i in n){
     var address=n;
       geocoder=new google.maps.Geocoder(); 
        geocoder.geocode({'address':address},function(results,status){
     if(status==google.maps.GeocoderStatus.OK){
        //alert("AAA");
        address=results(i).geometry.location;
     function addMarker() { markers.push(new google.maps.Marker({

                       postion:results(i).geometry.location,
                        map:gmap,
                        animation:google.map.animation.DROP
                        //iterater++; 

       }));
   //itertor++;
   }
    //markerNearBy.setMap(map);
   }else{
   alert("Geocode was not sucessful for the following reason:"+status);
     }
  });
 }
   }

   }



     function onError(error) {
             alert('code: '+ error.code+ '\n' 
                 +'message: ' + error.message + '\n');    
       }

   </script>
   </head>
   <body onLoad="load()">
    <!-- Map Display place -->
    <div id="map_div" style="width:320px; height:480px;"></div>
    </body>
    </html>
    <code>

您的代码看起来格式不正确。在“for”循环中定义了“addMarker”函数。而且,它在任何地方都不会被呼叫

看看Google提供的用于处理标记和覆盖的示例代码,并尝试对其进行模拟。该示例仅使用一个标记,但您可以简单地遍历结果。通过将标记对象添加到数组中,并将贴图对象设置为标记的“贴图”属性,您的意图是正确的,但您需要先格式化/重新构造代码,否则代码将无法工作

示例代码:


Danimal,谢谢你的建议,对我帮助很大,我会考虑如何重组它,至少我的意图是正确的。非常感谢。如何通过PHP将mySQL数据传递到Javascript???我尝试了很多方法,但仍然没有希望。@ShuyouChang:这是一个新问题。然而,在你提问之前,先花点时间阅读一下谷歌的例子。一个处理从数据库中获取标记并放到地图上的程序是