0

Anzeigen i lat zu holen versuchen müssen zu, lng Wert von db und kodieren Ergebnissen in json wie diesermehr Standort auf Google Karte von php-mysql

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

aber Markierung nicht auf der Karte anzuzeigen (Standort nicht mehr anzeigen Karte)

dies mein Code ist, was sind die mein Fehler mir bitte leite

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

Wert geholt von der dB erfolgreich und codieren in json auch nicht aber die Koordinaten loc finden ation auf der Karte

Antwort

1

Sie haben nur die Werte für Marker zu einem PHP-var nicht auf ein JavaScript var

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

      </script>"; 
?> 
+0

i dazu bin versucht zugewiesen, aber nicht – pranay

+0

Try 'lat = parseFloat (json [o] Arbeits .lat); 'und' lng = parseFloat (json [o] .lng); ' – duncan

+0

asnwer aktualisiert ... aber überprüfe, ob die json_encode Nummer oder String für lat und lng .wenn du eine Zeichenfolge hast, musst du mit parseFloat. – scaisEdge

Verwandte Themen