App.vue


<template><div class="app"><div class="search"><input type="text" v-model="input"><button @click="search">搜索</button></div><div class="map"><map-container  :search="input2"  /></div></div>
</template><script setup lang="ts">
import { ref } from "vue";
import MapContainer from "./components/MapContainer.vue";
const input = ref("");
const input2 = ref("");
function search() {input2.value=input.value
}
</script>
<style scoped>
.app {width: 100vw;height: 100vh;
}
.map{width: 100%;height: calc(100vh - 50px);
}
.search{width: 100vw;height: 50px;
}
</style>

MapContainer.vue

<template><div id="container"></div>
</template><script setup lang="ts">
import AMapLoader from "@amap/amap-jsapi-loader";
import { ref, onMounted, watch } from "vue";
const props = defineProps({search: String,
});
const map = ref<any>(null);
let geocoder:any;
let locationArr=ref<any>([121.473667, 31.230525])
watch(() => props.search,(newValue) => {console.log("search", newValue);searchLocation(geocoder);}
);
function initMap() {AMapLoader.load({key: "2c1c4affeb410923990fec54c5af721a", // 申请好的Web端开发者Key,首次调用 load 时必填version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15plugins: ["AMap.ToolBar","AMap.Scale","AMap.HawkEye","AMap.MapType","AMap.Geolocation","AMap.Geocoder",], // 需要使用的的插件列表,如比例尺'AMap.Scale'等}).then((AMap) => {map.value = new AMap.Map("container", {//设置地图容器idviewMode: "3D", //是否为3D地图模式zoom: 10, //初始化地图级别center: locationArr.value, //初始化地图中心点位置});map.value.addControl(new AMap.Scale());map.value.addControl(new AMap.ToolBar());map.value.addControl(new AMap.HawkEye());map.value.addControl(new AMap.MapType());map.value.addControl(new AMap.Geolocation());geocoder = new AMap.Geocoder({ city: "010" });}).catch((e) => {console.log(e);});
}
function searchLocation(geocoder: any) {geocoder.getLocation(props.search, function (status:any, result:any) {if (status === "complete" && result.info === "OK") {// result中对应详细地理坐标信息console.log('result',result);console.log('result',result.geocodes[0].location);let lngLat=[result.geocodes[0].location.lng,result.geocodes[0].location.lat]console.log('result',lngLat);locationArr.value=lngLatinitMap()}});
}
onMounted(() => {initMap();
});
</script><style scoped>
#container {padding: 0px;margin: 0px;width: 100%;height: 100%;
}
</style>

效果

vue3+ts+vite,使用高德api实现搜索城市展示在地图上相关推荐

  1. vue3+ts+vite后台管理模板

    vue3+ts+vite后台管理模板 支持前后端控制权限,使用uniapp+vue3+ts+elementplus+vite开发,码云地址:https://gitee.com/yongqiang062 ...

  2. Vue3+TS+Vite无法使用require导入图片的解决方法

    Vue3+TS+Vite无法使用require导入图片的解决方法 问题描述, 当使用const xxx = require('xxx')浏览器会报错, 为啥使用vue-cli脚手架时不会出问题? 是因 ...

  3. 【Vue3+Ts+Vite】使用Vite与TS构建Vue3项目

    Vue3+Ts+Vite

  4. 基于Vue3+TS+Vite+Cesium创建项目

    基于Vue3+TS+Vite+Cesium创建项目 基于Vite构建项目 安装配置Cesium 创建Cesium三维视图 运行结果 随着近几年社会的发展,人们对三维可视化的需求也是越来越多,三维GIS ...

  5. Vue3+TS+Vite+Element Plus搭建后台管理系统

    Vue3+TS+Vite+Element Plus搭建后台管理系统 1.简介 2.效果图 3.技术栈 4.项目目录 5.setting.js(全局配置文件) 6.路由router 7.状态管理stor ...

  6. 笔记:百度地图 通过输入地名搜索位置 显示在地图上

    场景:刚刚接到需求---通过输入地名搜索位置 显示在地图上,然后百度了一番,发现很多都是BMap版本的地图 而最新我用的是BMapGL地图 所以多多少少有一些不一样,查略相关文档得出解决方案

  7. 高德地图Web端JavaScript API开发(一)---个性化展示(自定义地图)

    遇到一个功能,需要使用地图功能,但是地图上不要显示太多的物体,不然会遮盖地图上的标记,因此需要自定义地图,去掉一些不需要的覆盖物. 话不多说,直接走步骤! First. 需要登录高德开发者控制台,在地 ...

  8. ArcGIS api for javascript——查找任务-在地图上查找要素

    描述 本例展示了如何使用查找任务搜索数据.本例在地图上用图表显示结果并用 DojoX的grid格式化结果为表格样式. FindTask构造函数需要一个ArcGIS Server地图服务的URL.本例使 ...

  9. vue3+ts+vite 路由详解

    安装 1.首先创建项目 npm init vite@latest 输入文件名,选择Vue.TypeScript 2.vscode打开项目,安装router,less,less-loader,@type ...

最新文章

  1. 描述Linux的虚拟化实现,Linux中实现虚拟化的四种常用方法
  2. 计算机英语基础课程论文,计算机专业英语课程教学论文
  3. [小故事大道理] -- 蜜蜂为何不如苍蝇
  4. Command10,Access数据库
  5. 通过uwsgi+nginx启动flask的python web程序
  6. OAuth 2.0——授权服务开发笔记(二)
  7. 腾讯网易已称王,今日头条有什么勇气来做游戏?
  8. 20200819:力扣202周周赛题解记录
  9. CCF201812-3 CIDR合并(100分)【位运算+文本】
  10. Linux显示器超频黑屏怎么办,显示器超频黑屏怎么办
  11. Python基础学习之正则表达式(完整版)
  12. 什么软件可以测试音乐速度,酷狗如何测试电台速度
  13. 微信小程序-如何解决onShareAppMessage转发gif格式图片不展示?【亲测有效】
  14. 身份证,银行卡,姓名用*号隐藏中间数字
  15. 数据结构算法-二叉树
  16. 从Docker镜像构建演化史来了解多阶段构建的影响
  17. VC++6.0 报错error spawning cl.exe解决方法【推荐】
  18. MyBatis(2)
  19. 用python做模型_Python实现Kuramoto模型的思想前提
  20. PCB原理图绘制(6)——原理图的修改、导出与PCB布线前准

热门文章

  1. 【超融合】超融合“火不火”?
  2. 【opencv学习】【图像直方图和均衡化】
  3. 移动终端安全 顶级会议_顶级移动应用开发公司
  4. 最长上升子序列(LIS) 学习总结
  5. GauGAN v2:两个词生成风景画
  6. amcharts嵌入到flex中
  7. 2023年的深度学习入门指南(1) - 从chatgpt入手
  8. Linux 如何添加一个 Swap 文件
  9. 基金申请-2:期刊如何批量索引SCIE、EI、ISTP (CPCI)?
  10. QImage 图片分割、保存