- vừa được xem lúc

Làm thế nào để sử dụng Google Map trong Vue JS

0 0 137

Người đăng: Bui Hoang Ky

Theo Viblo Asia

Hề lô anh em , hôm nay mình sẽ chỉ cho anh em làm thế nào để tích hợp Google Map vào trogn project Vue của chúng ta nhé.

Ứng dụng nhỏ này của chúng ta sẽ có thêm chức năng tìm kiếm đơn giản và đánh dấu vị trí trên bản đồ. Để thúc hiện việc này thì mình sử dụng package vue2-google-maps package

Và đây là các bước mà chúng ta sắp làm :

  • Bước 1: Cài đặt Vue Project
  • Bước 2: Cài đặt Vue2 Google Maps
  • Bước 3: Lấy Google Maps API Key
  • Bước 4: Đăng kí Vue Google Maps Module
  • Bước 5: Tạo Vue Component
  • Bước 6: Show Google Map
  • Bước 7: Chạy App

Bắt đầu thôiiii !!!

Cài đặt Vue Project

Chúng ta chạy câu lệnh sau :

npm install -g @vue/cli

Tiếp tục chạy để tạo ra một app Vue mới :

vue create vue-demo-app

Sau đó là cd vào project nào :

cd vue-demo-app

Cài đặt Vue2 Google Maps

Tiếp theo chúng ta tiến hành cài đặt package Vue2 Google Maps :

npm install vue2-google-maps

Lấy Google Maps API Key

Okk , bước tiếp theo chúng ta cần phải làm là lấy API key :

  • Mọi người vô đây Google Cloud Platform.
  • Tiếp theo đó chúng ta tạo một project mới bằng cách click vô phần select a project, rồi NEW PROJECT.
  • Hãy chắc chắn rằng mọi người đã click vô APIs & Services > Credentials ở phần bên trái của menu.
  • Sau đó, click vào Create Credentials và chọn API Key .
  • Copy lại API key mà chúng ta vừa nhận được trên màn hình.
  • Sau đó click vô Credentals, chọn Enable APIs and Services , enable cả services Maps JavaScript APIPlaces API nữa nhé .

Đăng kí Vue Google Maps Module

Chúng ta cần import "vue2-google-maps" module và đưa vào trong method use(). Điều này cho phép chúng ta truy cập vào các methods và properties trong Vue template.

import Vue from 'vue'
import App from './App.vue' import * as VueGoogleMaps from "vue2-google-maps" // Import package Vue.config.productionTip = false Vue.use(VueGoogleMaps, { load: { key: "GOOGLE MAP API KEY GOES HERE", libraries: "places" }
}); new Vue({ render: h => h(App),
}).$mount('#app')

Tạo Vue Component

Tạo một component theo đường dẫn sau nào src/components/AddGoogleMap.vue :

<template> <div> <div> <h2>Vue Js Search and Add Marker</h2> <label> <gmap-autocomplete @place_changed="initMarker"></gmap-autocomplete> <button @click="addLocationMarker">Add</button> </label> <br/> </div> <br> <gmap-map :zoom="14" :center="center" style="width:100%; height: 600px;" > <gmap-marker :key="index" v-for="(m, index) in locationMarkers" :position="m.position" @click="center=m.position" ></gmap-marker> </gmap-map> </div>
</template> <script>
export default { name: "AddGoogleMap", data() { return { center: { lat: 39.7837304, lng: -100.4458825 }, locationMarkers: [], locPlaces: [], existingPlace: null }; }, mounted() { this.locateGeoLocation(); }, methods: { initMarker(loc) { this.existingPlace = loc; }, addLocationMarker() { if (this.existingPlace) { const marker = { lat: this.existingPlace.geometry.location.lat(), lng: this.existingPlace.geometry.location.lng() }; this.locationMarkers.push({ position: marker }); this.locPlaces.push(this.existingPlace); this.center = marker; this.existingPlace = null; } }, locateGeoLocation: function() { navigator.geolocation.getCurrentPosition(res => { this.center = { lat: res.coords.latitude, lng: res.coords.longitude }; }); } }
};
</script>

Thằng gmap-autocomplete sẽ autocomplete hiển thị tìm kiếm vị trí, cho phép chúng ta tìm kiếm vị trí và đánh dấu. gmap-map sẽ hiển thị bản đồ.

Show Google Map

Okk giờ chúng ta import component vào nào :

<template> <div id="app"> <AddGoogleMap /> </div>
</template> <script>
import AddGoogleMap from "./components/AddGoogleMap"; export default { name: 'App', components: { AddGoogleMap }
}
</script> <style>
#app { font-family: Avenir, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscaleChạy App; text-align: center; color: #000000; margin-top: 50px;
}
</style>

Chạy App

Giờ việc cuối cùng cần làm là chạy App và hưởng thụ thành quả thôi :

npm run serve

thông thường thì nó sẽ chạy trên đường dẫn :

http://localhost:8080

Kết bài

Vậy là bài tìm hiểu của chúng ta đến đây là kết thúc rồi, anh em hãy thử vọc theo nhé.

Nếu thấy giúp ích cho mình , hãy like, shareupvote cho mình nhé.

Many thanksss

Bình luận

Bài viết tương tự

- vừa được xem lúc

Ví dụ CRUD với Laravel và Vuejs.

1. Cài đặt Laravel. composer create-project --prefer-dist laravel/laravel vuelaravelcrud. .

0 0 140

- vừa được xem lúc

Bài 1: Cài đặt Vue và chạy chương trình Hello world đầu tiên

Ở bài đầu tiên này mình sẽ hướng dẫn các bài cài đặt VueJS vào project Laravel, sau đó chúng ta sẽ cùng xem những thứ cơ bản của Vue nhé. Vì Laravel đã hỗ trợ tích hợp VueJS nên việc cài đặt của chúng ta sẽ hết sức đơn giản.

0 0 125

- vừa được xem lúc

Lazy loading and code splitting in Vue.js

Việc giữ cho ứng dụng của bạn tải nhanh ngày càng khó hơn. Trong loạt bài này, tôi sẽ đi sâu vào các kỹ thuật tối ưu hiệu suất Vue và bạn có thể sử dụng trong các ứng dụng Vue.

0 0 103

- vừa được xem lúc

Validating Vue.js Forms Using Vuelidate

Introduction. Validate thông tin đầu vào trên các ứng dụng web là rất quan trọng.

0 0 201

- vừa được xem lúc

5 Good Practices mình đang sử dụng trong Vuejs

Mở đầu. Mình đã sử dụng vuejs được cũng được 1 năm trở lại đây.

0 0 87

- vừa được xem lúc

[P5] VueJS - Một vài Interpolations khác trong Vue

Ở bài viết trước, mình đã nói về một vài keyword trong Vue như v-if, v-else, v-show, v-for, ... Chúng thực chất là các syntax đặc biệt của Vue để thao tác linh hoạt với các DOM ảo, được gọi là Interpolations. Ngoài ra, Vue còn các Interpolations khác. Mục đích của nó thì đã quá rõ ràng, hiển thị tex

0 0 49