2012-05-08 2 views
0

저는 HTML5 영역에서 매우 새롭습니다. PHP로 mysql에서 데이터를 가져오고 주소에서 Latlng로 변환하는 지오 코드를 사용하는 프로그램을 만들려고합니다. 그것은 LBS 프로그램이며, 2 주 동안 노력했다. 내 질문은 Google MAP에 마커를 넣을 수 없다는 것이고, 나는 로케이터를 수정했고지도가로드되었지만, 마커가지도에 착륙 할 수 없다. 제발 도와주세요! 고마워요. 그리고 정말로 당신의 도움에 감사드립니다. 이 코드에 실수 나 문제가 있다면 관대 한 충고를 해주세요.이 분야에서 매우 새롭고, HTML5 자바 스크립트에서 더 배우려고 노력하고 있습니다. 감사합니다. 여러분의 충고에 감사드립니다 !!!PHP와 자바 스크립트를 사용하는 Google MAP API

내 코드는 여기에 있습니다 :

   '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> 

답변

0

코드는 잘 형성 보이지 않는다. "for"루프 안에 "addMarker"함수가 정의되어 있습니다. 또한 어디에도 전화하지 않습니다.

마커 및 오버레이 작업을 위해 Google에서 제공하는 샘플 코드를 살펴본 다음 에뮬레이션하려고합니다. 샘플은 하나의 마커 만 사용하지만 결과를 반복 할 수 있습니다. 배열에 Marker 객체를 추가하고 Map 객체를 Marker의 map 속성으로 설정하여 올바른 의도를 얻었지 만 먼저 코드를 포맷/재구성해야합니다. 그렇지 않으면 작동하지 않습니다.

샘플 코드 :

https://developers.google.com/maps/documentation/javascript/overlays#RemovingOverlays

+0

Danimal, 나에게 많은 도움이 귀하의 조언을 주셔서 감사합니다, 난 적어도 내 의도는 올바른 방향에있다, 그것을 재구성하는 방법을 생각합니다. 고맙습니다 !!! –

+0

PHP를 통해 myJavascript에 mySQL 데이터를 전달하는 방법 ??? 나는 아직도 많은 희망을 품은 방법을 시도했다. –

+0

@ShuyouChang : 그것은 새로운 질문입니다. 그러나 질문하기에 앞서 Google의 사례를 읽어 보시기 바랍니다. 마커를 데이터베이스에서지도로 가져 오는 방법은 https://developers.google.com/maps/articles/phpsqlajax 페이지를 참조하십시오. –