2012-07-11 53 views
0

我目前正在建立一個網站,其中有一個功能,允許用戶在谷歌地圖標記他們的homeaddress和座標存儲在數據庫中使用PHP + MySQL,然後上另一頁座標從數據庫中抓取並用於消除。我怎麼做 ?使用谷歌地圖API標記在PHP的MySQL網站

我不是很熟悉的谷歌地圖API,因此這將是很大的幫助,如果按照我的理解,你被困在那裏,你要抓住任何部分,你可以提供一個類似的例子代碼:)

+0

谷歌提供了大量的例子。你爲什麼不嘗試他們的基本的,然後修改/更復雜的到你的需要? – Pete 2012-07-11 14:30:20

+0

你有什麼嘗試?你要存儲哪些信息。看起來應該不僅存儲地址,而且還要檢索它們的緯度和經度值。 – 2012-07-11 14:36:37

+0

嗯,這很簡單:您將事件處理程序附加到放置標記的地圖上的onclick事件,並將其座標存儲在變量中。當用戶點擊保存時,您最好通過AJAX將變量發送到服務器。這個例子應該讓你在正確的軌道上:https://google-developers.appspot.com/maps/documentation/javascript/examples/event-arguments雖然你必須自己來確定AJAX部分。試試看這個jQuery。 – 2012-07-11 17:19:27

回答

2

從數據庫中的數據,並提出基於緯度和經度位置的地圖。如果這是正確的,你可以試試這個..

在此基礎上鍊接上找到的例子https://developers.google.com/maps/articles/phpsqlsearch_v3?hl=es#createtable

這是代碼爲我工作(我不知道是否有什麼是多餘的)。

<?php 
    //select statement that grabs latitude and longitude for the current user and stores them to variables eg $lat and $lng. Then you just echo them below into the javascript. 
?> 
<html> 
<head> 
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> 
<script language="javascript" type="text/javascript"> 

    var map; 
    var geocoder; 
    function InitializeMap() { 

    var latlng = new google.maps.LatLng(<?php echo $lat; ?>, <?php $lng; ?>); 
    var myOptions = 
    { 
     zoom: 8, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     disableDefaultUI: true 
    }; 
    map = new google.maps.Map(document.getElementById("map"), myOptions); 
} 

window.onload = InitializeMap; 

</script> 
</head> 
<body> 

<table> 

<tr> 
<td colspan ="2"> 
<div id ="map" style="height: 253px;width: 447px;" > 
</div> 
</td> 
</tr> 
</table> 
</body> 

</html>