0
私はこの

PHP-のMySQLからのGoogleマップ上の複数の位置を表示

[{"name":"ahmedabad,GUJ","lat":"72.5226896","lng":"72.5226896"}] 

が、地図上に表示されないマーカー(位置が上に表示されないようにJSONに、LAT DBおよびエンコード結果からLNG値をフェッチしようとしなければならない

マップ)

これが正常とJSONでエンコードDBから取り出された私に

<?php 

include "db.php"; 


    /* lat/lng data will be added to this array */ 
    $locations=array(); 
    $query = $db->query("SELECT * FROM ds_petroling_history"); 
     while($row = $query->fetch_assoc()){ 

      $nama_kabkot = $row['name']; 
      $longitude = $row['lng'];        
      $latitude = $row['lat']; 

      /* Each row is added as a new array */ 
      $locations[]=array('name'=>$nama_kabkot, 'lat'=>$longitude, 'lng'=>$longitude); 
     } 
     /* Convert data to json */ 
     $markers = json_encode($locations); 
?> 


<html> 
    <head> 


    </head> 
    <body> 

     <div><?php echo $markers ?></div> 


    <script type='text/javascript'> 
    <?php 
     echo "var markers=$markers;\n"; 

    ?> 

    function initMap() { 

     var latlng = new google.maps.LatLng(23.0117523,72.5226665); 
     var myOptions = { 
      zoom: 10, 
      center: latlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP, 
      mapTypeControl: false 
     }; 

     var map = new google.maps.Map(document.getElementById("peta"),myOptions); 
     var infowindow = new google.maps.InfoWindow(), marker, lat, lng; 

     var json=JSON.parse(markers); 

     for(var o in json){ 

      lat = json[ o ].lat; 
      lng=json[ o ].lng; 
      name=json[ o ].name; 

      marker = new google.maps.Marker({ 
       position: new google.maps.LatLng(lat,lng), 
       name:name, 
       map: map 
      }); 
      google.maps.event.addListener(marker, 'click', function(e){ 
       infowindow.setContent(this.name); 
       infowindow.open(map, this); 
      }.bind(marker)); 
     } 
    } 
    </script> 
     <div id="peta" style="width: 100%; height: 660px;"> 
     </div> 

    <script async defer src="https://maps.googleapis.com/maps/api/js?key=yourkey&callback=initMap" 
    type="text/javascript"></script> 
    </body> 
</html> 

を案内してください値もなく、これらの座標のLOCを見つける私のミス何をしている、私のコードですマップ

答えて

1

上ationがあなただけではないにPHPのVARへのマーカーの値が割り当てられているjavascriptのVAR

/* Convert data to json */ 
    $markers = json_encode($locations); 
    echo "<script> 
      var markers[] = " . $markers ."; 

      </script>"; 
?> 
+0

私はこれにしようとしたが – pranay

+0

てみてください '働いていないよ、LAT = parseFloatはJSON([O] .lat); 'lng = parseFloat(json [o] .lng);' – duncan

+0

asnwerが更新されましたが、json_encodeの番号かlatとlngの文字列がparseFloatを使ってキャストする必要があります。 – scaisEdge

関連する問題