vue、百度地图

点击页面中的位置,跳转到百度地图,并且根据经纬度定位到具体位置

打开   百度地图开放平台 | 百度地图API SDK | 地图开发   获取 密钥ak

页面中在位置的地方添加一个点击事件

<div class="lxdz_nr" @click = "baidu(116.442208,39.922129)">  //具体的经纬度,可以直接写在这里,也可以写给地址的位置
    <p>xx公司</p>
    <p>北京市xxxxxx</p>     <p>400-665-0265</p></div>
<div class="lxdz_nr" @click = "baidu(116.442208,39.922129)">  //具体的经纬度
    <p>xx公司</p>
    <p>北京市xxxxxx</p>     <p>400-665-0265</p></div>
<script>

export default {

methods: {

baidu (lng, lat) {

sessionStorage.setItem(‘bddt‘, 1)

this.$router.push({path: ‘/Lxdt‘, query: {lng: lng, lat: lat}})    //path下指的是需要到的另外一个Lxdt页面,传两个值lng,lat

}

}

}

}

</script>

以上是放位置的页面,跳转到百度地图,需要再新建一个页面   (就是上面写的path:/Lxdt)

<template>
<div class="dt">
    <div id="bddt">
    </div>
</div>
</template>

<script>
export default {
  name: ‘lxdt‘,
  mounted () {
    if (sessionStorage.getItem(‘bddt‘) - 0 === 1) {
      sessionStorage.setItem(‘bddt‘, 0)
      setTimeout(_ => {
        window.history.go(0)
      }, 0)
    }
  }
}
</script>

<style scoped>
.dt{
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
#bddt{
    height:100%
}
</style>

本来想直接在vue页面中显示出来或者写成组件,但是看百度api和看一些文档,写在里面也是各种报错,只好把代码写在html里,代码如下:

先在html里引入   <script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=百度获取的密钥"></script>

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=百度获取的密钥"></script>

<meta name="viewport" content="width=device-width,initial-scale=1.0">

<link rel="shortcut icon" href="./static/img/bitbug_favicon.ico" type="image/x-icon" />

<title>北京xxxx有限公司</title>

</head>

<body>

<div id="app"></div>

<!-- built files will be auto injected -->

</body>

</html>

<script>

function getUrlData() {

var url = location.hash

var arr = []

var obj = {}

if (url.indexOf(‘?‘) === -1) {

return

} else {

url = url.split(‘?‘)[1]

arr = url.split(‘&‘)

arr.forEach(function (k) {

obj[k.split(‘=‘)[0]] = k.split(‘=‘)[1]

})

}

return obj

}

var XY = {

lng: getUrlData().lng,

lat: getUrlData().lat

}

var opts = {

width: 250, // 信息窗口宽度

height: 100, // 信息窗口高度

title: "Hello" // 信息窗口标题

}

var map = new BMap.Map("bddt"); // 创建地图实例

var point = new BMap.Point(XY.lng, XY.lat); // 创建点坐标

map.centerAndZoom(point, 15);

map.enableScrollWheelZoom(); // 开启滚轮缩放

var marker = new BMap.Marker(point);  //创建一个标志物圆点

map.addOverlay(marker);        //以上如果还有需要的内容都可以在百度地图文档里添加

</script>

这也是第一次做地图之类的页面,简单实现下,以后再做改善

原文地址:https://www.cnblogs.com/yd-MM/p/10031806.html

时间: 2024-11-14 07:33:27

vue、百度地图的相关文章

vue百度地图在IE11下空白

F12查看,发现报错:Unhandled promise rejection ReferenceError: “Symbol”未定义 1.安装Babel Polyfill npm install --save-dev webpack-server 2.main.js import "babel-polyfill"; 3.重新npm run serve 原文地址:https://www.cnblogs.com/25miao/p/12101260.html

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

VUE之使用百度地图API

利用vue创建点餐系统,在点餐系统中需要知道商家地址信息,这时就需要借用百度地图API. 步骤一:申请百度地图密钥: 步骤二:在index.html中添加百度地图JavaScript API接口: <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=KCzp8claYra8uYAvahElV9oKUT6j7Gx1" ></script> 步

Vue系列:如何将百度地图包装成Vue的组件

主要分解为如下步骤: (1)在html文件中引入百度地图, <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=your token "></script> (2)在webpack.base.conf.js文件内添加external选项,在module.exports内部,和entry平级: externals: { "BMap&

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

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

Angular/Vue调用百度地图+标注点不显示图标+多标注点计算地图中心位置

整理一下~ 一.在vue中调用百度地图 首先当然是申请百度密匙(很简单,不多说) 1.在index.html文件中引入百度地图JavaScript API接口: <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=密匙部分哦"></script> 2.在bulid/webpack.base.conf.js配置文件中配置BMap,在modul

vue 项目模块化引入百度地图

1.1.安装百度地图依赖包 npm i vue-baidu-map --save 2.在src/main.js导入依赖包 import BaiduMap from 'vue-baidu-map' Vue.use(BaiduMap, { ak: 'YOUR_APP_KEY' //这个地方是官方提供的ak密钥}) 3.配置地图的基本信息,在我们需要的组件中引用 <!--百度地图--><baidu-map class="map" :center="{lng:121

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项目引用百度地图并实现搜索定位等功能

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