//搜索 map对象需要初始化,初始化方法查看前面几篇
function Search(e) {//e:限定城市
AMap.plugin(['AMap.Autocomplete', 'AMap.PlaceSearch'], function () {
var autoOptions = {
// 城市,默认全国
city: e,
// 使用联想输入的input的id (输入框的id)
input: "search_input"
}
var autocomplete = new AMap.Autocomplete(autoOptions)
var placeSearch = new AMap.PlaceSearch({
city: e,
map: map
})
AMap.event.addListener(autocomplete, 'select', function (e) {
//下拉框的选项点击事件
console.log(e.poi.name);
placeSearch.search(e.poi.name);
})
AMap.event.addListener(placeSearch, 'markerClick', function (e) {
//结果标记点的点击事件
let lng = e.data.location.lng;
let lat = e.data.location.lat;
})
})
ps:位置搜索时地图对象需要和初始化的地图对象保持一致,否则更新过地图对象后 搜索的对象未更新则找不到原始对象 绘制标点会提示这个错误;