Archieced:
- vue-cli, сборник рассказов
- использовать API карты Google
- Компонент IMap
- Сборник рассказов IMap
Шаг за шагом:
- Шаг 1: создать проект gcp (облачная платформа google) и активный относительный api карты google
- Шаг 2: установите проект с помощью vue-cli
- Шаг 3: инициализация сборника рассказов vue
- Шаг 4: реализовать компонент IMap
- Шаг 5: реализовать историю компонента IMap
исходный код
Шаг 1: создать проект gcp (облачная платформа google) и активный относительный api карты google
используйте свою учетную запись google, перейдите в gcp и создайте новый проект. Затем активная карта Google относительно api.
Здесь необходимо активировать «Google Maps JavaScript API», «Google Maps Geocoding API», «Google Places API Web Service» для использования компонента IMap.
Шаг 2: установите проект с помощью vue-cli
yarn global add vue-cli
vue init [my-vue-app]
...
Шаг 3: инициализация сборника рассказов vue
Storybook - это среда разработки компонентов пользовательского интерфейса. Он позволяет просматривать библиотеку компонентов, просматривать различные состояния каждого компонента, а также в интерактивном режиме разрабатывать и тестировать компоненты.
yarn global add @storybook/cli
cd [my-vue-app]
getstorybook
Это создаст в вашем проекте относительную обстановку и истории из сборника рассказов.
Шаг 4: реализовать компонент IMap
Здесь нам нужно загрузить его скрипт и инициализировать карту Google в вашем проекте. у вас есть два способа загрузить скрипт:
- загрузить скрипт в inde.html
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB7vz8rdHAJoMRNfGC5ieJSvWkqevlRJDc&libraries=places"></script>
- загрузить скрипт в js файл
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.async = true;
js.defer = true;
js.src = `https://maps.googleapis.com/maps/api/js?key=${api.googleApiKey}&libraries=places`
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'gmap'));
- простой в использовании IMap в App.vue, например:
<template> <i-map :lat="-34.4" :lng="150.644"> </i-map> </template> <script> import IMap from './components/IMap'
export default { name: 'app',
components: { IMap } } </script>
Вы можете проверить более подробную информацию в документе gogole map api. У него отличный документ.
google map api doc
Шаг 5: реализовать историю компонента IMap
добавьте preview-head.html в папку .storybook и включите scirpt карты Google.
(Его сборник рассказов встроил iframe в html)
- /.storybook/preview-head.html
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB7vz8rdHAJoMRNfGC5ieJSvWkqevlRJDc&libraries=places"></script>
Вы можете использовать больше дополнений для сборника рассказов, установив его. Но сначала вам нужно установить React. проверьте здесь:
https://github.com/storybooks/storybook/issues/1751
- добавить историю компонента IMap. Есть несколько примеров для использования vue в сборнике рассказов. Так же, как писать vue. бывший:
import { storiesOf } from '@storybook/vue'; import { action } from '@storybook/addon-actions'; import { linkTo } from '@storybook/addon-links';
import IMap from '../components/IMap.vue';
const lat = 23.90 const lng = 121.07
storiesOf('IMap', module) .add('with draggable marker', () => ({ components: { IMap }, template: ` <div style="width: 800px;height: 600px;"> <i-map :lat="${lat}" :lng="${lng}" :draggable="true"> </i-map> </div>` }))
Финал:
yarn run dev //check localhost:8080
yarn run storybook // check localhost:6006
Здесь просто используется карта Google в качестве образца компонента сборника рассказов. Шаг за шагом и размышления.
Вы должны разработать свой компонент vue и показать спецификацию пользовательского интерфейса по сборнику рассказов. Это хорошие привычки, которые нужно развивать.
Вы можете проверить все это в моем гитхабе.
(https://github.com/sky790312/vue-google-map-with-storybook)