高德地图 搜索 placeSearch.search 结果标注的红色标记点击后如何获取到其经纬度,js 代码
时间: 2024-03-23 09:40:14 浏览: 134
要获取高德地图搜索结果标注的经纬度,可以在标注被点击时获取其对应的 `marker` 对象,然后使用 `getPosition()` 方法获取其经纬度。
下面是一个简单的示例代码:
```js
// 创建地图对象
var map = new AMap.Map('container', {
zoom: 13,
center: [116.39, 39.9]
});
// 创建搜索对象
var placeSearch = new AMap.PlaceSearch({
map: map
});
// 进行搜索操作
placeSearch.search('餐厅');
// 监听标注点击事件
AMap.event.addListener(placeSearch, 'markerClick', function(e) {
// 获取点击的标注对象
var marker = e.marker;
// 获取标注的经纬度
var position = marker.getPosition();
console.log(position);
});
```
在上面的代码中,我们使用 `AMap.event.addListener()` 方法来监听 `markerClick` 事件,当搜索结果的标注被点击时,就会触发此事件,并且事件对象 `e` 中包含了被点击的标注对象 `marker`,然后我们就可以使用 `getPosition()` 方法来获取其经纬度了。
相关问题
高德地图 搜索地址后 地图上出现标记的红点点击怎么获取经纬度 js 代码
在高德地图 JavaScript API 中,可以通过添加 click 事件监听器来实现获取点击标记的经纬度。具体实现步骤如下:
1. 在地图上搜索地址并添加标记:
```
// 使用地址解析功能,将地址解析为经纬度
var geocoder = new AMap.Geocoder({
city: '全国' // 城市,默认值:全国
});
geocoder.getLocation('北京市朝阳区望京SOHO', function(status, result) {
if (status === 'complete' && result.info === 'OK') {
// 解析成功时,获取经纬度信息
var location = result.geocodes[0].location;
var latitude = location.lat;
var longitude = location.lng;
// 创建 Marker 对象
var marker = new AMap.Marker({
position: location, // 设置Marker坐标
title: 'Marker', // 设置Marker标题
visible: true // 设置Marker可见性
});
// 添加Marker到地图上
marker.setMap(map);
}
});
```
2. 在标记上添加 click 事件监听器:
```
// 创建 Marker 对象
var marker = new AMap.Marker({
position: [116.397428, 39.90923], // 设置Marker坐标
title: 'Marker', // 设置Marker标题
visible: true // 设置Marker可见性
});
// 添加Marker到地图上
marker.setMap(map);
// 设置Marker点击事件监听器
AMap.event.addListener(marker, 'click', function() {
// 获取Marker的经纬度信息
var position = marker.getPosition();
var latitude = position.getLat();
var longitude = position.getLng();
// 执行其他操作
});
```
以上代码示例中,获取到的经纬度信息分别保存在 latitude 和 longitude 变量中。您可以根据实际需求进行处理。
高德地图搜索结果上的红点标记点击无法获取到经纬度如何获取 js 代码
在高德地图中,当你点击搜索结果上的红点标记时,可以通过监听 `markerClick` 事件来获取该标记的经纬度信息。具体的实现方法如下:
```javascript
var map = new AMap.Map('container', {
zoom: 10,
center: [116.39, 39.9]
});
var placeSearch = new AMap.PlaceSearch({
pageSize: 10,
pageIndex: 1,
map: map,
panel: "panel"
});
AMap.event.addListener(placeSearch, 'markerClick', function(e) {
console.log(e.data.location); // 获取标记的经纬度信息
});
```
在上面的代码中,我们通过 `AMap.event.addListener` 方法监听了 `markerClick` 事件,当用户点击搜索结果上的红点标记时,会触发该事件,并将点击的标记信息传递给回调函数中的 `e` 参数。
通过 `e.data.location` 可以获取到标记的经纬度信息,该属性返回一个 `LngLat` 对象,包含了标记的经度和纬度信息。你可以通过 `e.data.location.lng` 和 `e.data.location.lat` 来分别获取经度和纬度的值。
阅读全文