引言:一张高德地图搞定用户的位置定位javascript
网上看了不少使用地图API实现位置自动定位的文章, JS代码不一,但效果都同样:获取一张用户本身位置的地图显示在相应的Div上面。而如今,假如说咱们想点击已定位的地图上的一个地方,则会把该位置的经纬度从客户端传到服务器,而后将该经纬度经过 Smtp协议,发送给某人的邮箱,那么该怎么作呢?html
在咱们初始化的地图上加一个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