通过如下代码获取城市地标
// 获取城市定位
AMap.plugin("AMap.CitySearch", function() {
var citySearch = new AMap.CitySearch();
citySearch.getLocalCity(function(status, result) {
if (status === "complete" && result.info === "OK") {
// 查询成功,result即为当前所在城市信息
// 关键字搜索
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("医院");
});
}
});
});
结果如下
现在想通过点击地图上的标记或者旁边的结果列表获取医院名称和地址
以下答案引用自GPT-3大模型,请合理使用:
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点都处于视口的可见范围
});
//监听Marker的点击事件
AMap.event.addListener(marker, 'click', function() {
//通过点击marker来获取相应信息,可以得到医院名称和地址
var lnglat = marker.getPosition();
placeSearch.getDetails(lnglat, function(status, result) {
if (status === 'complete' && result.info === 'OK') {
console.log(result);
}
});
});
//监听List的点击事件
AMap.event.addListener(placeSearch, 'listpreselect', function(e) {
//通过点击list来获取相应信息,可以得到医院名称和地址
placeSearch.getDetails(e.poi.id, function(status, result) {
if (status === 'complete' && result.info === 'OK') {
console.log(result);
}
});
});
});
如果我的回答解决了您的问题,请采纳我的回答