在输入框输入地址 有两种方法保存转换之后的经纬度
第一种,在前台通过js处理得来经纬度再保存在 隐藏按钮里面 传入后台
第1步 在头部导入 百度js文件 <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script> 1.3版本不需要申请秘钥,之后就要去申请秘钥
第2步,加两个文本框,文本框绑定一个失去光标事件
<input type="text" name="adress" id="adress" class="input-txt" οnblur="searchByStationName();" ><span class="err">
</span>查询结果(经纬度):<input id="result_" type="text" />
第3步,在html页面添加js 就可以去测试了
<script type="text/javascript">
var map = new BMap.Map("adress");
var localSearch = new BMap.LocalSearch(map);
localSearch.enableAutoViewport(); //允许自动调节窗体大小
function searchByStationName() {
var adress = $('#adress').val(); //获取输入框输入的地址
localSearch.setSearchCompleteCallback(function (searchResult) {
var poi = searchResult.getPoi(0);
document.getElementById("result_").value = poi.point.lng + "," + poi.point.lat; //获取经度和纬度,将结果显示在文本框中
document.getElementById("lng").value = poi.point.lng;
document.getElementById("lat").value = poi.point.lat;
map.centerAndZoom(poi.point, 13);
});
localSearch.search(adress);
</script>
第二种 后台获取地址,再转换经纬度
$adress = "武汉";//地址转经纬度
$url = "http://api.map.baidu.com/geocoder/v2/?address=".$adress."&output=json&ak= 你的秘钥";
$address_data = file_get_contents($url);
$json_data = json_decode($address_data);
$lng = $json_data->result->location->lng;
$lat = $json_data->result->location->lat;