2016-11-11 4 views
0

Я создал базу данных на phpadmin, и я извлек информацию из xml-файла в базу данных, мое поле базы данных состоит из времени, широты, долготы, глубины и величины. У меня есть таблица, отображающая все информацию на веб-странице, и у меня есть поле, содержащее ссылку, при нажатии на ссылку он должен направить меня на карту api google и он должен извлечь информацию о широте и долготе из базы данных, в которой у меня возникла проблема передать значение широты и долготы автоматически, любой help.here в мой кодПередача значений с помощью href

<?php 
    require('dbconnect.php'); 
    $query="SELECT * from earthquake_xml"; 
    $result= mysqli_query($dbc,$query); 
    echo "Query Executed Successfully "; 
    $numRow =mysqli_num_rows($result); 
    echo "<br> Number Of Rows:".$numRow; 
?> 
<!DOCTYPE HTML> 
<html> 
<head> 
    <style> 
    table, th, td { 
    border: 1px solid black; 
    padding:10px; 
} 
table{ 
    border-collapse: collapse; 
    text-align:center; 

} 
    </style> 
</head> 
<body> 
<table> 
    <tr> 
     <td>Time</td> 
     <td>Latitude</td> 
     <td>Longitude</td> 
     <td>Depth</td> 
     <td>Magnitude</td> 
     <td>Google Map </td> 
    </tr> 
    <?php 
    if($numRow>0) 
    { 
     while($row=mysqli_fetch_assoc($result)) 
     { 
      echo "<tr>"; 
      echo "<td>" .$row['Time'] . "</td>"; 
      echo "<td>" .$row['Latitude']. "</td>"; 
      echo "<td>" .$row['Longitude']. "</td>"; 
      echo "<td>" .$row['Depth']. "</td>"; 
      echo "<td>" .$row['Magnitude']. "</td>"; 
      echo "<td><a href='googleMap.php?longitude= '' '>Click here</a></td>"; 
      echo "</tr>"; 

     } 




    } 

    ?> 

</table> 

</body> 
</html> 

это мой googleMap.php

<!DOCTYPE HTML> 
<HTML> 
<head> 
<title></title> 
<style> 
html,body{ 
    height:100%; 
    margin:0; 
    padding:0; 
} 
#map{ 
    height:100%; 
} 
</style> 
</head> 
<body> 
<div id="map"></div> 
<script> 
function initMap(){ 
    var myLatLng={lat:-36.5806,lng:-73.6355}; 
    var map=new google.maps.Map(document.getElementById('map'),{ 
    center:myLatLng, 
    zoom:8 
    }); 

    if(navigator.geolocation){ 
     navigator.geolocation.getCurrentPosition(function(position){ 
      var pos={ 
       lat:-36.5806, 
       lng:-73.6355 
      }; 

      var marker=new google.maps.Marker({ 
       position:pos, 
       map:map, 
      }); 

      map.setCenter(pos,marker) 
     },function(){ 
      handleLocationError(true,map.getCenter()); 
     }); 
    }else{ 
     handleLocationError(false,map.getCenter) 
    } 
} 
</script> 
<script async defer 
src="https://maps.googleapis.com/maps/api/js?key=&callback=initMap"> 
</script> 
</body> 

</html> 
+0

Вы должны удалить свой ключ api из вопроса. –

ответ

0

На странице HTML вы можете легко передать широту и долготу в виде строки запроса.

echo "<td><a href='googleMap.php?longitude=".$row['longitude']."&latitude=".$row['latitude']."'>Click here</a></td>"; 

Чтобы получить ту же широту и долготу просто обновить сценарий с GET запроса.

function initMap(){ 
    var myLatLng={lat:'<?php echo $latitude ?>',lng:'<?php echo $longitude?>'}; 
    ....// so on 
} 
+0

Я использовал запрос на получение, но он не работает. Функция initmap() { var myLatLnh = {lat: "", lng: "" }; и т. Д. @HappyCoding – fairytale

+0

@fairytale, с какими проблемами вы сталкиваетесь –

0

Вы можете использовать геолокацию api непосредственно с php.

Вы можете вызвать URL, как это:

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY

И получите структурированный ответ JSON, как этот:

{ 
    "results" : [ 
     { 
     "address_components" : [ 
      { 
       "long_name" : "1600", 
       "short_name" : "1600", 
       "types" : [ "street_number" ] 
      }, 
      { 
       "long_name" : "Amphitheatre Parkway", 
       "short_name" : "Amphitheatre Pkwy", 
       "types" : [ "route" ] 
      }, 
      { 
       "long_name" : "Mountain View", 
       "short_name" : "Mountain View", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "Santa Clara County", 
       "short_name" : "Santa Clara County", 
       "types" : [ "administrative_area_level_2", "political" ] 
      }, 
      { 
       "long_name" : "California", 
       "short_name" : "CA", 
       "types" : [ "administrative_area_level_1", "political" ] 
      }, 
      { 
       "long_name" : "Stati Uniti", 
       "short_name" : "US", 
       "types" : [ "country", "political" ] 
      }, 
      { 
       "long_name" : "94043", 
       "short_name" : "94043", 
       "types" : [ "postal_code" ] 
      } 
     ], 
     "formatted_address" : "1600 Amphitheatre Pkwy, Mountain View, CA 94043, Stati Uniti", 
     "geometry" : { 
      "location" : { 
       "lat" : 37.4223664, 
       "lng" : -122.084406 
      }, 
      "location_type" : "ROOFTOP", 
      "viewport" : { 
       "northeast" : { 
        "lat" : 37.4237153802915, 
        "lng" : -122.0830570197085 
       }, 
       "southwest" : { 
        "lat" : 37.42101741970851, 
        "lng" : -122.0857549802915 
       } 
      } 
     }, 
     "place_id" : "ChIJ2eUgeAK6j4ARbn5u_wAGqWA", 
     "types" : [ "street_address" ] 
     } 
    ], 
    "status" : "OK" 
} 

Вы можете сделать это вызов с помощью завиток.

Реф. https://developers.google.com/maps/documentation/geocoding/start

Смежные вопросы