0
嗯,我有一個谷歌地圖,所有的經度來自數據庫,它顯示每個位置與標記。標記是可移動的。更新mysql數據庫時谷歌地圖標記移動
現在我想更新數據庫的緯度和經度,當我移動每個標記。是否可以使用PHP或JavaScript或Ajax。你能給我一個解決方案或建議嗎?謝謝。
Javascript代碼:
<script type="text/javascript" src="jquery-1.4.4.min.js"></script>
<script src="http://maps.googleapis.com/maps/api/js?sensor=false"
type="text/javascript"></script>
<script type="text/javascript" src="gmap3.js"></script>
<script type="text/javascript">
$(function(){
$('#map').gmap3({
map:{
options:{
center:[23.709920999999998,90.40714299999999],
zoom: 15
}
},
marker:{
values:[
<?php
$sql = mysql_query("select * from parkings where userid != '0'");
while($res = mysql_fetch_array($sql)){
$id = $res['locId'];
$lat = $res['latitude'];
$long = $res['longitude'];
?>
{address:"<?php echo $lat;?>,<?php echo $long;?>"},
<?php
}
?>
],
options:{
draggable: true
},
events: {
click: function(marker, event, context){
markerSelected(context.id);
}
}
}
});
$("#bcolor").click(function(){
var marker = $('#map').gmap3({get: $("#markerId .value").text() });
marker.setIcon(marker.getIcon() ? "" : "http://maps.google.com/mapfiles
/marker_green.png");
});
$("#bremove").click(function(){
$('#map').gmap3({clear: $("#markerId .value").text() });
$("#data").hide();
$("#title").show();
});
});
function markerSelected(id){
var marker = $('#map').gmap3({get:id});
$("#markerId .value").text(id);
$("#latitude .value").text(marker.getPosition().lat());
$("#longitude .value").text(marker.getPosition().lng());
$("#data").show();
$("#title").hide();
}
</script>
HTML正文部分代碼
<div id="map" class="gmap3"></div>
當我點擊每個標記它的顯示經緯度以下部分:
<div id="latitude">
<span class="label">Latitude : </span>
<span class="value"></span>
</div>
<div id="longitude">
<span class="label">Longitude : </span>
<span class="value"></span>
</div>
不錯的主意,但只是添加監聽器到標記的放置事件是不是更容易? – pythonian29033
@Theox,感謝您的好主意!首先,每個經緯度都有唯一的Mysql數據庫ID(locId)。所以我認爲當標記移動時我必須得到每個ID。對 ?怎麼樣 ? – Creativeartbd
我認爲你可以使用pythonian29033的想法來聽標記的放置事件。然後,您可以獲取移動的標記的ID,也可能獲得其經緯度,然後執行AJAX調用。 – Theox