<script type="text/javascript"> // 百度地图API功能 var map = new BMap.Map('allmap'); var poi = new BMap.Point(116.307852, 40.057031); var addressPost; var CURRENT_LNG; var CURRENT_LAT; map.centerAndZoom(poi, 18); map.enableScrollWheelZoom(); //获取当前位置信息 var getCurrentLocation = function (lg, lt) { geoc.getLocation(new BMap.Point(lg, lt), function (rs) { var addComp = rs.address; var fujinAddeessArr = rs.surroundingPois[0]; document.getElementById('resultText').innerText = '当前位置 :' + fujinAddeessArr.title + '——' + fujinAddeessArr.address; addressPost = fujinAddeessArr.title + '——' + fujinAddeessArr.address; CURRENT_LNG = lg; CURRENT_LAT = lt; }); } var lng, lat; //获取当前定位 var geoc = new BMap.Geocoder(); var geolocation = new BMap.Geolocation(); geolocation.getCurrentPosition(function (r) { if (this.getStatus() == BMAP_STATUS_SUCCESS) { var mk = new BMap.Marker(r.point); map.addOverlay(mk); map.panTo(r.point); lng = r.point.lng lat = r.point.lat getCurrentLocation(lng, lat) } else { alert('failed' + this.getStatus()); } }, { enableHighAccuracy: true }) map.addEventListener("touchstart", function (e) { //给地图添加点击事件 map.clearOverlays();//清除地图上所有覆盖物 //获取经纬度 var lng = e.point.lng; var lat = e.point.lat; //创建标注位置 var pt = new BMap.Point(lng, lat); var myIcon = new BMap.Icon("../../static/img/Location1.png", new BMap.Size(20, 25), { anchor: new BMap.Size(5, 20), infoWindowAnchor: new BMap.Size(10, 0) }); var marker2 = new BMap.Marker(pt, { icon: myIcon }); // 创建标注 map.addOverlay(marker2); //方法向地图中添加单个覆盖物时会触发此事件,将标注添加到地图中 getCurrentLocation(lng, lat) }); var ac = new BMap.Autocomplete( //建立一个自动完成的对象 { "input": "suggestId", "location": map }); function G(id) { return document.getElementById(id); } var myValue; ac.addEventListener("onconfirm", function (e) { //鼠标点击下拉列表后的事件 var _value = e.item.value; myValue = _value.province + _value.city + _value.district + _value.street + _value.business; G("searchResultPanel").innerHTML = "onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue; setPlace(); }); function setPlace() { map.clearOverlays(); //清除地图上所有覆盖物 function myFun() { var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果 map.centerAndZoom(pp, 18); map.addOverlay(new BMap.Marker(pp)); //添加标注 getCurrentLocation(pp.lng, pp.lat) } var local = new BMap.LocalSearch(map, { //智能搜索 onSearchComplete: myFun }); local.search(myValue); }
添加回答
举报
0/150
提交
取消