像这种由配置自动生成的标记和列表如何绑定点击事件并且获取其地标属性?
用的是2.0的高德地图api
AMap.plugin(["AMap.PlaceSearch"], function() {
/ /构造地点查询类
var placeSearch = new AMap.PlaceSearch({
pageSize: 5, // 单页显示结果条数
pageIndex: 1, // 页码
city: result.city, // 兴趣点城市
citylimit: true, //是否强制限制在设置的城市内搜索
map: map, // 展现结果的地图实例
panel: "panel", // 结果列表将在此容器中进行展示。
autoFitView: true // 是否自动调整地图视野使绘制的 Marker点都处于视口的可见范围
});
//关键字查询
placeSearch.search("医院");
});
为palcesearch绑定markerClick(点击标记)和listElementClick(点击列表)
const select = data => {
console.log(data);
};
placeSearch.on("markerClick", select);
placeSearch.on("listElementClick", select);
该回答内容部分引用GPT,GPT_Pro更好的解决问题
使用高德地图2.0 API绑定点击事件并获取地标属性,可以使用marker的click事件来实现。
首先,要使用placesearch查询构造出marker,代码如下:
// 构造地点查询类
var placesearch = new AMap.PlaceSearch({
pageSize: 5,
pageIndex: 1,
city: resultCity,
citylimit: true,
map: map,
panel: "panel",
autoFitview: true
});
// 查询医院
placesearch.search("医院");
然后,可以为构造出的marker绑定click事件,代码如下:
// 绑定click事件
AMap.event.addListener(marker, 'click', function () {
// 获取marker的地址信息,如省、市、区等
var address = marker.getExtData().address;
// 获取marker的经纬度信息
var position = marker.getPosition();
// 获取marker的其他属性信息,如id、name、type等
var otherInfo = marker.getExtData();
// 进行其他操作...
});
通过上述步骤,即可成功实现地图marker的click事件绑定,并获取其地标属性信息。
如果回答有帮助,望采纳。