vue中使用百度地图,悬浮窗搜索功能

https://www.cnblogs.com/shuaifing/p/8185311.html 侵删

<template>
    <div id="all">
    <input type="text" id="suggestId" name="address_detail" placeholder="地址" v-model="address_detail" class="input_style">
    <div id="allmap"></div>
    </div>
</template>
<script>
 //import {MP} from ‘../../map‘
   export default {
       data(){
           return {
               address_detail: null, //详细地址
               userlocation: {lng: "", lat: ""},
           }
       },
       mounted(){
           this.$nextTick(function () {

                   var th = this
                   // 创建Map实例
                   var map = new BMap.Map("allmap");
                   // 初始化地图,设置中心点坐标,
                   var point = new BMap.Point(121.160724,31.173277); // 创建点坐标,汉得公司的经纬度坐标
                   map.centerAndZoom(point, 15);
                   map.enableScrollWheelZoom();
                   var ac = new BMap.Autocomplete(    //建立一个自动完成的对象
                       {
                           "input": "suggestId"
                           , "location": map
                       })
                   var myValue
                   ac.addEventListener("onconfirm", function (e) {    //鼠标点击下拉列表后的事件
                       var _value = e.item.value;
                       myValue = _value.province + _value.city + _value.district + _value.street + _value.business;
                       this.address_detail = myValue
                       setPlace();
                   });

                   function setPlace() {
                       map.clearOverlays();    //清除地图上所有覆盖物
                       function myFun() {
                           th.userlocation = local.getResults().getPoi(0).point;    //获取第一个智能搜索的结果
                           map.centerAndZoom(th.userlocation, 18);
                           map.addOverlay(new BMap.Marker(th.userlocation));    //添加标注
                       }

                       var local = new BMap.LocalSearch(map, { //智能搜索
                           onSearchComplete: myFun
                       });
                       local.search(myValue);

                       //测试输出坐标(指的是输入框最后确定地点的经纬度)
                       map.addEventListener("click",function(e){
                           //经度
                           console.log(th.userlocation.lng);
                           //维度
                           console.log(th.userlocation.lat);

                       })
                   }

           })
       },
   }
</script>
<style scoped>
   #allmap{
        width: 400px;
        height: 400px;
        font-family: "微软雅黑";
        border:1px solid green;
    }
</style>

原文地址:https://www.cnblogs.com/Byme/p/10214517.html

时间: 2024-11-10 10:36:10

vue中使用百度地图,悬浮窗搜索功能的相关文章

Vue中使用百度地图——根据输入框输入的内容,获取详细地址

知识点:在Vue.js项目中调用百度地图API,实现input框,输入地址,在百度地图上定位到准确地址,获得到经纬度 参考博客:  百度地图的引用,初步了解参考博客:http://blog.csdn.net/docallen/article/details/70877925 详细功能修改参考博客: https://www.cnblogs.com/NearTheSea/p/6808093.html 效果图:在input输入框中,输入要查询的地址,搜索出相关的名字 选中详细地址,地图定位到详细地址

Vue项目引用百度地图并实现搜索定位等功能

Tip:本篇文章为案例分析,技术点较多,所以篇幅较长,认真阅览的你一定会学到很多知识. 前言:百度地图开放平台 给开发者们提供了丰富的地图功能与服务,使我们的项目中可以轻松地实现地图定位.地址搜索.路线导航等功能.本文给大家介绍如何在vue项目中引用百度地图,并设计实现简单的地图定位.地址搜索功能. 一.效果图及功能点 先来看一下效果图 效果图看不够? 点此 试试在线操作!(初次进入加载较慢,请耐心等待) 功能点: 挂载百度地图 封装逆地址解析函数(根据坐标点获取详细地址) 设置图像标注并绑定拖

vue中实现百度地图

1.项目根目录下下载百度地图插件 npm install vue-baidu-map –save 2.在首页index.html中引入百度地图: <script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=秘钥"></script> 我申请的密钥为  :3bVHdeo2ZZaZO4QczC63d0kMsbA55ZSD 3.在显示地图的组件中 template

vue中引入百度地图

xxx.vue <template> <div> <el-input v-model="inputaddr"> </el-input> <el-button @click="mapCpm">点击</el-button> <el-dialog :modal-append-to-body="false" :title="textMap[dialogStatus]&

vue中实现百度地图拖拽地图定位功能

效果如果所示,拖动地图.中间图标不动,并且自动获取地图当前中心点的经纬度.然后就可以用经纬度做其他的操作了...首先查看了百度地图的api.能实现这个功能最贴近的就是marker.marker可以拖拽,但是地图却动不了,我还用了另外一种是自己自定义一个marker.并且让marker相对地图位置绝对定位,地图拖拽,marker不动,拖拽结束后使用marker.getposition来获取当前位置,但是有个问题.自定义的marker在地图拖动的时候就看不见了..应该是层级问题.让地图给挡住了..太

如何在手机网站上添加百度地图(带搜索功能)

在手机网站上添加百度地图,直接用百度API里的代码就可以, http://developer.baidu.com/map/ 就可以生成地图 输入地址等一些信息,但是如何添加地址搜索 这样的地址搜索如何添加 而且添加后会出现冲突 小尖角好像是固定定位, 还没搞出来~~~

百度地图 v3.5搜索功能,和地图缩放按钮更改样式

搜索应该是比较简单一块了. 先说一下缩放按钮 //设置是否显示缩放控件 mMapView.showZoomControls(false); 先将缩放控件隐藏,然后直接在地图页面自己定义两个按钮. case R.id.minus_sign: float zoomLevel = mBaiduMap.getMapStatus().zoom; if(zoomLevel>4){ mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomOut()); minus_

Android应用中使用百度地图API定位自己的位置(二)

官方文档:http://developer.baidu.com/map/sdkandev-6.htm#.E7.AE.80.E4.BB.8B3 百度地图SDK为开发者们提供了如下类型的地图覆盖物: 我的位置图层(MyLocationOverlay):用于显示用户当前位置的图层(支持自定义位置图标): Poi搜索结果图层(PoiOverlay):用于显示兴趣点搜索结果的图层: 路线图层(RouteOverlay):公交.步行和驾车线路图层,将公交.步行和驾车出行方案的路线及关键点显示在地图上(起.终

Vue2.0与 [百度地图] 结合使用———vue+webpack+axios+百度地图实现组件之间的通信

Vue2.0与 [百度地图] 结合使用: 1.vue init webpack-simple vue-baidu-map 2.下载axios cnpm install axios; 3.在main.js中引入axios,并使用 import axios from 'axios' /* 把axios对象挂到Vue实例上面,其他组件在使用axios的时候直接 this.$http就可以了 */ Vue.prototype.$http = axios; 4.引入百度地图的js秘钥--->最好在inde