使用百度地图做一个位置选择功能
来源:互联网 发布:情报数据库 编辑:程序博客网 时间:2024/05/16 23:46
使用百度地图做一个位置选择功能
<html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <style type="text/css"> body, html{width: 100%;height: 100%; margin:0;font-family:"微软雅黑";} #l-map{height:300px;width:100%;} #r-result{width:100%;} #flag{ width: 3px; height: 3px; border: 0px; position: absolute; top: 206px; left:210px; } </style> <link rel="stylesheet" href="../Public/css/mui.min.css"> <link rel="stylesheet" type="text/css" href="../Public/css/app.css"/> <style> h5 { margin: 5px 7px; } </style> <script src="../Public/js/dump_src.js"></script> <script src="../Public/js/mui.min.js"></script> <script> mui.init(); </script> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=8d867483baeaffd7f85b1ee099aee919"></script> <title>选择收货地址</title></head><body><div id="search"> <form class="mui-input-group"> <div class="mui-input-row"> <input id="suggestId" type="text" class="mui-input-clear" placeholder="地址检索" style="text-align: center"> </div> </form></div><div id="l-map"></div><div id="r-result"> </div><div id="flag"> <a><span class="mui-icon mui-icon-plusempty"></span></a></div><!--<div id="searchResultPanel" style=""></div>--></body></html><script type="text/javascript"> var title = []; var address = []; var points = []; var currentPoint = ""; var currentAddress = ""; var isLocated = false; var isdispatching = false;//是否配送 var d = 2000;//配送范围,圆的半径 var basePoint = new BMap.Point(116.331398,39.897445);//仓库的位置 // 百度地图API功能 var map = new BMap.Map("l-map"); // 创建Map实例 map.centerAndZoom(new BMap.Point(116.331398,39.897445),14); map.addEventListener("moveend",showCurrentPoi); //自动定位 var geolocation = new BMap.Geolocation(); geolocation.getCurrentPosition(function(r){ if(this.getStatus() == BMAP_STATUS_SUCCESS){ currentPonit = r.point; isLocated = true; map.centerAndZoom(r.point,14); map.panTo(r.point); // 创建地理编码实例 var myGeo = new BMap.Geocoder(); // 根据坐标得到地址描述 myGeo.getLocation(r.point, function(result){ if (result){ currentAddress = result.address; } }); } else { alert("定位失败:"+this.getStatus()); } },{enableHighAccuracy: true}) //自动完成 var ac = new BMap.Autocomplete( //建立一个自动完成的对象 {"input" : "suggestId", "location" : map }); var myValue; ac.addEventListener("onconfirm", function(e) { //鼠标点击下拉列表后的事件 var _value = e.item.value; myValue = _value.province + _value.city + _value.district + _value.street + _value.business; alert("1:"+_value.province+"2:"+_value.city+"3:"+_value.district+"4:"+_value.street+"5:"+_value.business); showPoiFromKeyword(); }); function showPoiFromKeyword(){ var local = new BMap.LocalSearch(map, { //智能搜索 onSearchComplete: function(results){ if (local.getStatus() == BMAP_STATUS_SUCCESS) { var point = local.getResults().getPoi(0).point; var title = local.getResults().getPoi(0).title; var address = local.getResults().getPoi(0).address; var distance = (map.getDistance(point,basePoint)).toFixed(2); if(distance<=d) { isdispatching = true; } if (!isdispatching) { alert("你的选择是:" + title + " 与最近的仓库的距离是:" + distance + "米,目前该地址尚不在配送范围内!") } else { alert("你的选择是:" + title + " 与最近的仓库的距离是:" + distance + "米,恭喜你,该地址在配送范围内!") } } } }); local.search(myValue); } function showCurrentPoi() { var center = map.getCenter(); var local = new BMap.LocalSearch(map, { renderOptions: {selectFirstResult:true}, onSearchComplete:function(results){ if (local.getStatus() == BMAP_STATUS_SUCCESS){ var s = []; var content = ""; content = " <ul class='mui-table-view'> "; for (var i = 0; i < results.getCurrentNumPois(); i++) { title[i] = results.getPoi(i).title; address[i] = results.getPoi(i).address; points[i] = results.getPoi(i).point; content = content + " <li class='mui-table-view-cell mui-media'> <a href='javascript:confirmAddress(" + i + ");'> <a id='icon-location' class='mui-media-object mui-pull-left'><span style='color:red' class='mui-icon mui-icon-location'></span></a> <div class='mui-media-body'>" + title[i] + "<p class='mui-ellipsis'>" + address[i] + "</div> </a> </li>"; } content = content + " </ul>"; document.getElementById("r-result").innerHTML = content; } } }); var myGeo = new BMap.Geocoder(); myGeo.getLocation(center, function (result) { if (result) { local.search(result.address); } }); } function confirmAddress(i) { //用户单击某一项之后,跳转会页面,同时将地址传递过去 var distance = (map.getDistance(points[i],basePoint)).toFixed(2); if(distance<=d) { isdispatching = true; } if (!isdispatching) { alert("你的选择是:" + title[i] + " 与最近的仓库的距离是:" + distance + "米,目前该地址尚不在配送范围内!") } else { alert("你的选择是:" + title[i] + " 与最近的仓库的距离是:" + distance + "米,恭喜你,该地址在配送范围内!") } }</script>
0 0
- 使用百度地图做一个位置选择功能
- 使用百度地图api实现定位及选择位置功能
- 使用百度地图api实现定位及选择位置功能
- 使用百度地图api功能显示位置
- 基于百度地图的地理位置选择功能
- 使用百度地图SDK实现定位功能,定位你当前的位置
- 使用百度地图 显示自己的位置
- 做一个包含百度地图的html
- Android:使用百度地图SDK定位当前具体位置(类似QQ发表说说的选择地点功能)
- ndroid:使用百度地图SDK定位当前具体位置(类似QQ发表说说的选择地点功能)
- 关于百度地图的一个定位功能
- 怎样使用百度地图android sdk做类似微信摇一摇搜附近的功能
- 利用百度地图Android sdk高仿微信发送位置功能
- 利用百度地图Android sdk高仿微信发送位置功能
- 百度地图显示多点位置(类似足迹功能)
- 使用百度地图完成地址选择界面
- 百度地图标注位置
- 百度地图位置纠偏
- ulua
- Java程序的三种输入
- Caffe源码(十):eltwise_layer 分析
- 【发极客头条 得C币】人人都是主编!(第1期)
- java Tuple 元组
- 使用百度地图做一个位置选择功能
- Spring 学习笔记(七)——远程服务
- 顷刻天地转:未来还在NUMA上
- MongoDB之聚合
- MBR初识
- C#结构体对象不能为空如何处理
- iOS内存管理
- WaitForSingleObject()、WaitForMultipleObject() 函数
- ubuntu下手动创建应用的快捷方式