ue根据点击得到的坐标为中心画圆使用@amap/amap-jsapi-loader
时间: 2024-02-23 22:27:14 浏览: 108
基于js的坐标轴画圆和简单函数的示例代码
4星 · 用户满意度95%
好的,您可以参考以下代码进行绘制:
首先,您需要在项目中安装 `@amap/amap-jsapi-loader` 模块。然后,您可以按照以下步骤进行操作:
1. 在您的组件中导入 `AmapLoader`:
```javascript
import { AmapLoader } from '@amap/amap-jsapi-loader';
```
2. 使用 `AmapLoader` 加载高德地图 JavaScript API:
```javascript
const loader = new AmapLoader({
key: 'your amap api key',
version: '1.4.15', // 版本号
plugins: [], // 插件列表
});
await loader.load();
```
3. 创建一个地图实例:
```javascript
const map = new AMap.Map('map-container', {
center: [116.397428, 39.90923],
zoom: 13,
});
```
4. 监听地图的 `click` 事件,获取点击的坐标:
```javascript
map.on('click', (event) => {
const { lnglat } = event;
const [lng, lat] = lnglat.toArray();
console.log(`Clicked at (${lng}, ${lat})`);
// TODO: 在该位置绘制圆形
});
```
5. 在点击位置绘制圆形:
```javascript
const radius = 1000; // 圆形半径(单位:米)
const circle = new AMap.Circle({
center: [lng, lat], // 圆心坐标
radius, // 半径
strokeColor: '#FF33FF', // 线颜色
strokeWeight: 6, // 线宽度
strokeOpacity: 0.2, // 线透明度
fillColor: '#1791fc', // 填充颜色
fillOpacity: 0.4, // 填充透明度
});
circle.setMap(map); // 添加到地图上
```
完整代码示例:
```javascript
import { AmapLoader } from '@amap/amap-jsapi-loader';
export default {
async mounted() {
const loader = new AmapLoader({
key: 'your amap api key',
version: '1.4.15',
plugins: [],
});
await loader.load();
const map = new AMap.Map('map-container', {
center: [116.397428, 39.90923],
zoom: 13,
});
map.on('click', (event) => {
const { lnglat } = event;
const [lng, lat] = lnglat.toArray();
console.log(`Clicked at (${lng}, ${lat})`);
const radius = 1000;
const circle = new AMap.Circle({
center: [lng, lat],
radius,
strokeColor: '#FF33FF',
strokeWeight: 6,
strokeOpacity: 0.2,
fillColor: '#1791fc',
fillOpacity: 0.4,
});
circle.setMap(map);
});
},
};
```
请注意,您需要将 `map-container` 替换为您自己的容器元素 ID。
阅读全文