使用地圖API,獲取經緯度並傳到服務器

引言:一張高德地圖搞定用戶的位置定位javascript

網上看了不少使用地圖API實現位置自動定位的文章, JS代碼不一,但效果都同樣:獲取一張用戶本身位置的地圖顯示在相應的Div上面。而如今,假如說咱們想點擊已定位的地圖上的一個地方,則會把該位置的經緯度從客戶端傳到服務器,而後將該經緯度經過 Smtp協議,發送給某人的郵箱,那麼該怎麼作呢?html

第一步:經過JS把地圖上所點擊的位置的經緯度獲取到並顯示到頁面

在咱們初始化的地圖上加一個click監聽AMap.event.addListener(map,'click',getLnglat);當點擊地圖時則調用getLnglat函數:java

function getLnglat(e){      
	 var a = e.lnglat.getLng();  
	 var b = e.lnglat.getLat();   
	 document.getElementById("lnglat").innerHTML ="您當前經緯度:"+"<br>"+"<br>"+""+a+","+b;
}  
複製代碼

而該函數負責給聲明的a,b賦經緯值並在Inglat上顯示點擊位置的經緯度。如今,咱們就從地圖上把點擊位置的經緯度用JS獲取到了,並賦給了a,b。服務器

第二步: 把獲取到的經緯度傳到服務器

咱們須要在html頁面上加入兩個隱藏域:函數

<input type="hidden" value="0" name="x"/>
<input type="hidden" value="0" name="y"/>
複製代碼

而後用JS給隱藏域從新賦值:ui

if(a==undefined){  
	document.getElementById("lnglat").innerHTML="請選擇你的座標!"+"<br>"+"<br>"+"<br>";  
}else{
	document.all.x.value=a;   
	document.all.y.value=b;  
	document.insertForm.submit(); }  
}  
複製代碼

if(a==undefined)判斷是否獲取到經度,document.insertForm.submit()用JS實現表單的提交。而表單的action只要是指向服務器便可把兩個隱藏域的值傳遞到服務器。spa

第三步:服務器獲取經緯度

double x, y;聲明兩個double類型的x,y,便可使用request來接收經緯度。code

以上即是經過地圖獲取經緯度到服務器的具體方法,方法可能還有缺陷,之後改進。orm

相關文章
相關標籤/搜索