2016-11-11 7 views
0

私はphpadminでデータベースを作成しましたが、xmlファイルからデータベースに情報を抽出しました。データベースフィールドは時間、緯度、経度、深度、magnitude.iから構成されています。ウェブページの情報と私はリンクを含むフィールドを持っている、リンクをクリックしながら、私はGoogleマップAPIに私を指示すると仮定し、それは私が問題を抱えているデータベースから緯度と経度の情報を抽出する必要がありますこれは私のgoogleMap.phphrefを使用した値の受け渡し

<!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> 
ある

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

、自動的help.hereの私のコードを緯度と経度の値を渡します

+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

私はgetリクエストを使用しましたが、動作していません。 関数initmap(){ var myLatLnh = {lat: "<?php echo $ _GET ['Latitude'];?>"、 lng: "<?php echo $ _GET ['経度'];?>" }; など..... @HappyCoding – fairytale

+0

@fairytaleあなたが直面している問題 –

0

pholから直接geolocation apiを使用できます。

あなたは、このような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" 
} 

あなたはカールを使用してこの呼び出しを行うことができます。

Ref。 https://developers.google.com/maps/documentation/geocoding/start

関連する問題