vue.js에서 Baidu Map의 jsApi를 어떻게 소개하나요? Baidu Map의 jsApi를 도입하는 두 가지 방법 소개

不言
풀어 주다: 2018-07-27 10:56:27
원래의
1774명이 탐색했습니다.

이 기사에서는 vue.js?에서 Baidu Map의 jsApi를 소개하는 방법에 대한 기사 내용을 소개합니다. Baidu Map의 jsApi를 소개하는 두 가지 방법에 대한 이 소개가 도움이 필요한 친구들에게 도움이 되기를 바랍니다.

머리말

오늘은 바이두맵을 활용해야 하는 프로젝트가 있습니다. 일반적으로 모바일 단말기에서 바이두맵을 사용할 때 이런 식으로 바이두맵의 jsApi를 직접 소개합니다.

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=D9b45bc6f98deafc489e9ac1bc7f7612"></script>
로그인 후 복사

이 방법의 원리는 BMap 객체를 전역 창 객체에 직접 추가하는 것인데, 이를 통해 API가 로드된 페이지 어디에서나 Baidu Map API를 사용할 수 있습니다. 그러나 단일 파일 구성 요소를 사용하여 vue+webpack으로 개발된 프로젝트에는 도입 방법만으로는 충분하지 않습니다. 그래서 인터넷으로 정보를 찾아봤습니다. 여기에는 두 가지 방법이 있습니다.

스크립트 태그 직접 도입

첫 번째 방법은 직접 도입하는 방법입니다. 물론, vue 파일에서 bmap 객체를 사용하려면 webpack 구성에서 외부 확장도 설정해야 합니다. 파일(외부 속성)

//webpack.dev.conf.js

externals: {
    'BaiduMap': 'BMap'
}
로그인 후 복사

externales 속성은 공식 설명에서 유래합니다:

가져온 특정 패키지가 번들로 패키징되는 것을 방지하고 대신 런타임(런타임)에서 이러한 외부 종속성을 얻습니다.

웹팩 문서에는 패키징하는 대신 CDN에서 jQuery를 가져오는 예도 나와 있습니다.
index.html

<script
  src="https://code.jquery.com/jquery-3.1.0.js"
  integrity="sha256-slogkvB1K3VOkzAI8QITxV3VzpOnkeNVsKvtkYLMjfk="
  crossorigin="anonymous">
</script>
로그인 후 복사

webpack.config.js

externals: {
  jquery: 'jQuery'
}
로그인 후 복사
import $ from 'jquery';

$('.my-element').animate(...);
로그인 후 복사

이 예시를 참고하면 프로젝트에 js 파일을 도입하면 Baidu Map의 API를 직접 사용할 수 있습니다.

import BaiduMap from 'BaiduMap'
export default {
    name: 'Index',
    .....
로그인 후 복사
mounted() {
        
    var map = new BaiduMap.Map('allmap')                        // 创建地图实例
    var point = new BaiduMap.Point(120.343373,31.540212)        // 创建中心点坐标
    var marker = new BaiduMap.Marker(point) // 创建标注

    map.centerAndZoom(point,15)                         // 初始化地图,设置中心点坐标和地图级别


    map.addOverlay(marker) // 将标注添加到地图中

}
로그인 후 복사

여기서 지도 API 인스턴스화는 마운트된 단계에서 가장 잘 수행됩니다. DOM이

<p id="allmap"></p>
로그인 후 복사

와 같은 공식 예제를 사용하는 경우 마운트된 단계에서만 DOM이 생성되고 마운트됩니다.

모듈화를 통해 도입된 방식

실제로 바이두 지도는 지난해 jsApi를 기반으로 해당 오픈소스 구성요소인 vue와 React를 공식적으로 오픈소스로 공개했으며, npm을 통해 직접 설치해 사용할 수 있다.
VUE:[https://github.com/Dafrok/vue...]
React:[https://github.com/huiyan-fe/...]
Github에서 해당 문서를 참조하여 사용할 수 있습니다. . 여기서는 vue만 소개합니다.
설치

npm i vue-baidu-map --save
로그인 후 복사

초기화

import Vue from 'vue'
import BaiduMap from 'vue-baidu-map'

Vue.use(BaiduMap, {
  ak: 'YOUR_APP_KEY'    //这个地方是官方提供的ak密钥
})
로그인 후 복사

사용

<template>
  <baidu-map class="map">
  </baidu-map>
</template>

<style>
/* The container of BaiduMap must be set width & height. */
.map {
  width: 100%;
  height: 300px;
}
</style>
로그인 후 복사

관련 권장 사항:

vue 패키지 구성 요소는 어떻게 구성되나요? Vue 탭 전환 구성 요소를 캡슐화하는 방법(코드 포함)

Vue 사용자 정의 명령어 및 명령어 정의 함수에 대한 자세한 분석(코드)

위 내용은 vue.js에서 Baidu Map의 jsApi를 어떻게 소개하나요? Baidu Map의 jsApi를 도입하는 두 가지 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿