当前位置:   article > 正文

Vue调用百度地图_vue 百度地图控制画面移动

vue 百度地图控制画面移动

Vue调用百度地图(百度地图API获取Key)

   v-cli 脚手架

1.在index.html文件中引入

             <script src="http://api.map.baidu.com/api?v=2.0&ak=2OjBdPwgnDYFK84dgzXifbp0Q3SaLiNv"></script>

2.bulid - webpack.base.conf.js - 加入 externals: {
                                                                                  'BMap': 'BMap'
                                                                           },

3.import引入如图

4.page文件夹新增测试.vue文件

  5.使用import引入如下:

 ==========================\\\\\\博主文件已上传\\\\\\==========================

  1. <template>
  2. <div>
  3. <!--container-->
  4. <div class="m-t-10">
  5. <a class="mint-cell mint-field">
  6. <div class="mint-cell-wrapper">
  7. <div class="mint-cell-title">
  8. <span class="mint-cell-text">输入地址</span>
  9. </div>
  10. <div class="mint-cell-value">
  11. <input v-model="address_detail" type="text" id="suggestId" name="address_detail" class="mint-field-core text-right">
  12. </div>
  13. </div>
  14. </a>
  15. </div>
  16. <div id="allmap" style="width: 100%;height:600px;border: 1px solid gray;overflow:hidden;"></div>
  17. <!--container end-->
  18. </div>
  19. </template>
  20. <script>
  21. import comHeader from 'components/comHeader'
  22. import BMap from 'BMap'
  23. export default {
  24. components: {
  25. comHeader
  26. },
  27. data: () => ({
  28. headerData: {
  29. title: '办公地址',
  30. toLink: ''
  31. },
  32. address_detail: null, // 详细地址
  33. userlocation: {lng: '', lat: ''}
  34. }),
  35. created () {
  36. // 组件创建完后获取数据,这里和1.0不一样,改成了这个样子
  37. this.loadMap()
  38. // this.ready() // 如果在此处直接调用this.ready()方法,将无法加载地图
  39. },
  40. mounted () {
  41. this.ready()
  42. },
  43. methods: {
  44. loadMap: function () {
  45. // setTimeout(this.ready, 0)
  46. },
  47. ready: function () {
  48. var th = this
  49. var map = new BMap.Map('allmap')
  50. var point = new BMap.Point(114.0552, 22.55) // 创建点坐标
  51. map.centerAndZoom(point, 12)
  52. map.enableScrollWheelZoom() // 启用滚轮放大缩小,默认禁用
  53. map.enableContinuousZoom() // 启用地图惯性拖拽,默认禁用
  54. map.addControl(new BMap.NavigationControl()) // 添加默认缩放平移控件
  55. map.addControl(new BMap.OverviewMapControl()) // 添加默认缩略地图控件
  56. map.addControl(new BMap.OverviewMapControl({ isOpen: true, anchor: 'BMAP_ANCHOR_BOTTOM_RIGHT' })) // 右下角,打开
  57. // 建立一个自动完成的对象
  58. var ac = new BMap.Autocomplete({'input': 'suggestId', 'location': map})
  59. var myValue
  60. ac.addEventListener('onconfirm', function (e) { // 鼠标点击下拉列表后的事件
  61. var _value = e.item.value
  62. myValue = _value.province + _value.city + _value.district + _value.street + _value.business
  63. this.address_detail = myValue
  64. alert(this.address_detail)
  65. setPlace()
  66. })
  67. function setPlace () {
  68. map.clearOverlays() // 清除地图上所有覆盖物
  69. function myFun () {
  70. th.userlocation = local.getResults().getPoi(0).point // 获取第一个智能搜索的结果
  71. map.centerAndZoom(th.userlocation, 19)
  72. map.addOverlay(new BMap.Marker(th.userlocation)) // 添加标注
  73. alert(JSON.stringify(th.userlocation))
  74. }
  75. var local = new BMap.LocalSearch(map, { // 智能搜索
  76. onSearchComplete: myFun
  77. })
  78. local.search(myValue)
  79. }
  80. /* var map = new BMap.Map('allmap')
  81. map.enableScrollWheelZoom(true)
  82. console.log(map)
  83. var localSearch = new BMap.LocalSearch(map)
  84. // localSearch.enableAutoViewport() // 允许自动调节窗体大小
  85. map.clearOverlays() // 清空原来的标注
  86. localSearch.setSearchCompleteCallback(function (searchResult) {
  87. var poi = searchResult.getPoi(0)
  88. map.centerAndZoom(poi.point, 20)
  89. var point = new BMap.Point(poi.point.lng, poi.point.lat)
  90. var marker = new BMap.Marker(point) // 创建标注,为要查询的地方对应的经纬度
  91. map.addOverlay(marker)
  92. })
  93. localSearch.search('广东省深圳市南山区深圳软件园二期') */
  94. }
  95. }
  96. }
  97. </script>
  98. <style>
  99. /* 去掉地图左下角的百度LOGO */
  100. .anchorBL {
  101. display:none
  102. }
  103. </style>


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/109733
推荐阅读
相关标签
  

闽ICP备14008679号