2013-03-22 28 views
0

這檢索位置的地圖:如何從jQuery的傳遞位置到PHP

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/ 
1.4.2/jquery.min.js"></script> 
<script type="text/javascript" src="jquery.cookie.js"></script> 
<script type="text/javascript"> 
function success(position) 
{ 
var s = document.querySelector('#status'); 
if (s.className == 'success') 
{ 
return; 
} 
s.innerHTML = "Found you!"; 
s.className = 'Success'; 
var mapcanvas = document.createElement('div'); 
mapcanvas.id = 'mapcanvas'; 
mapcanvas.style.height = '100%'; 
mapcanvas.style.width = '100%'; 
document.querySelector('#map').appendChild(mapcanvas); 
var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 
var myOptions = { 
zoom: 15, 
center: latlng, 
mapTypeControl: false, 
navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL}, 
mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 
var map = new google.maps.Map(document.getElementById("mapcanvas"), myOptions); 
var marker = new google.maps.Marker({ 
position: latlng, 
map: map, 
title:"You are here!" 
}); 
$.cookie("MyLat", position.coords.latitude); // Storing latitude value 
$.cookie("MyLon", position.coords.longitude); // Storing longitude value 
} 
function error(msg) 
{ 
var s = document.querySelector('#status'); 
s.innerHTML = typeof msg == 'string' ? msg : "failed"; 
s.className = 'Fail'; 
} 
if (navigator.geolocation) 
{ 
navigator.geolocation.getCurrentPosition(success, error); 
} 
else 
{ 
error('Not supported'); //HTML Support 
} 

//Jquery Code 
$(document).ready(function() 
{ 
$("#check").click(function() 
{ 
var lat = $.cookie("MyLat"); 
var lon = $.cookie("MyLon"); 
alert('Latitued: '+lat); 
alert('Longitude: '+lon); 
var url="http://maps.googleapis.com/maps/api/geocode/json?latlng="+lat+","+lon+"&sensor=false"; 
alert('Google Map API: '+url); 
//Get Json Request Here 
}); 
}); 
</script> 
//HTML Code 
<input type='button' id='check' value='Check-out'/> 
<div id="status">Loading.............</div> 
<div id="map"></div> 

我想唯一的城市,並使用GPS在jQuery的街道地址和傳遞城市位置到PHP下方,分配在php變量$ city = //中的城市地址來自jquery。

並傳入$ sql語句。

(i.e "select e.id, e.firstName, e.lastName, e.title, e.picture, count(r.id) reportCount " . 
       "from employee e left join employee r on r.managerId = e.id " . 
       "group by e.id order by e.lastName, e.firstName where e.city=$city";) 

    <div data-role="content"> 
    <ul data-role="listview" data-filter="true"> 
     <?php 
     include 'config.php'; 
     $sql = "select e.id, e.firstName, e.lastName, e.title, e.picture, count(r.id) reportCount " . 
       "from employee e left join employee r on r.managerId = e.id " . 
       "group by e.id order by e.lastName, e.firstName"; 
     try { 
      $dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass); 
      $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
      $stmt = $dbh->query($sql); 
      while ($emp = $stmt->fetch(PDO::FETCH_OBJ)) { 
       echo "<li><a href='employeedetails.php?id=$emp->id'>" . 
        "<img src='pics/$emp->picture'/>" . 
        "<h4>$emp->firstName $emp->lastName</h4>" . 
        "<p>$emp->title</p>" . 
        "<span class='ui-li-count'>$emp->reportCount</span></a></li>"; 
      } 
      $dbh = null; 
     } catch(PDOException $e) { 
      echo $e->getMessage(); 
     } 
     ?> 
    </ul> 
    </div> 

</div> 

幫我解決這個問題。

+0

[jQuery.ajax()](http://learn.jquery.com/ajax/)可能是你正在尋找的。 – Alex 2013-03-22 12:00:47

+0

但如何使用GPS的街道地址? – 2013-03-22 17:35:56

回答

0

嘗試將數據封裝在JSON中,然後使用AJAX將它們傳輸到PHP源代碼中。 在jQuery和PHP中,你有解析器來編碼/解碼json信息。