<!-- 百度地图api -->
<script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=2.0&ak=您的秘钥"></script>
function G(id) {
return document.getElementById(id);
}
var map = new BMapGL.Map('container');
map.centerAndZoom('西安市', 13);
map.enableScrollWheelZoom(true);
var geoc = new BMapGL.Geocoder();
map.addEventListener('click', function(e){
map.clearOverlays();
var pt = e.latlng;
var marker = new BMapGL.Marker(new BMapGL.Point(pt.lng, pt.lat));
map.addOverlay(marker);
geoc.getLocation(pt, function(rs){
var addComp = rs.addressComponents;
$("#startProvince").val(addComp.province);
$("#startCity").val(addComp.city);
if (""==addComp.district && addComp.district == undefined || addComp.district == null){
$("#startCountry").val(addComp.city);
}
$("#startCountry").val(addComp.district);
$("#stationName").val(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber);
$("#address").val(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber);
$("#stationLon").val(pt.lng);
$("#stationLat").val(pt.lat);
})
})
var ac = new BMapGL.Autocomplete(
{"input" : "tipinput"
,"location" : map
});
ac.addEventListener("onhighlight", function(e) {
var str = "";
var _value = e.fromitem.value;
var value = "";
if (e.fromitem.index > -1) {
value = _value.province + _value.city + _value.district + _value.street + _value.business;
}
str = "FromItem<br />index = " + e.fromitem.index + "<br />value = " + value;
value = "";
if (e.toitem.index > -1) {
_value = e.toitem.value;
value = _value.province + _value.city + _value.district + _value.street + _value.business;
}
str += "<br />ToItem<br />index = " + e.toitem.index + "<br />value = " + value;
G("searchResultPanel").innerHTML = str;
});
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 BMapGL.Marker(pp));
geoc.getLocation(pp, function(rs){
var addComp = rs.addressComponents;
$("#startProvince").val(addComp.province);
$("#startCity").val(addComp.city);
if (""==addComp.district && addComp.district == undefined || addComp.district == null){
$("#startCountry").val(addComp.city);
}
$("#startCountry").val(addComp.district);
$("#stationName").val(myValue);
$("#address").val(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber);
$("#stationLon").val(pp.lng);
$("#stationLat").val(pp.lat);
})
}
var local = new BMapGL.LocalSearch(map, {
onSearchComplete: myFun
});
local.search(myValue);
}
<div id="mapSearch" style="position: absolute; z-index: 100; background: #fff;padding: 10px 16px; margin-left: 20px; margin-top: 20px;">
<div class="input-item">
<span class="input-item-text" style="width:8rem; font-size: 16px">请输入关键字 </span>
<input id='tipinput' type="text">
</div>
<div id="searchResultPanel" style="border:1px solid red;width:150px;height:400px; position: absolute;top:20px;display:none;"></div>
</div>
<div class="col-xs-8" id = "container" style="height: 400px">
<div class="info">
</div>
</div>