Vue.js + Google Maps Api로 여러 마커를 설치하여 좋은 느낌으로 중앙을 표시
6102 단어 Vue.js자바스크립트GoogleMapsAPI
소개
복수의 마커를 설치해, 그 중앙을 표시하면 문자로 해도 이해하기 어렵습니다만 아래와 같은 이미지입니다.
위 은 3개의 사진에 묶는 위도 경도를 바탕으로 마커를 설치하여
설치한 3점의 마커가 지도에 들어가도록 빠듯하게 확대해 표시하게 되어 있습니다.
전제
구현
HTML
서버 측은 Laravel을 사용합니다.
데이터 전달은 Vue.js의 사용자 지정 지시문을 사용합니다.
<div id="map" v-photos="{{$photos}}"></div>
자바스크립트
사용자 지정 지시문을 활용하여 데이터를 받습니다.
mounted()
내에서 Google Map을 초기화합니다.
그런 다음 위도 경도를 기준으로 google.maps.Marker()
및 bounds.extend()
를 사용하여 마커를 설치합니다.
마지막으로 map.fitBounds()
를 이용하여 여러 마커의 중앙을 좋은 느낌으로 표시시킵니다.
Vue.directive('photos', {
bind: function (el, binding, vnode) {
vnode.context.photos = binding.value;
}
});
new Vue({
el: '#wrapper',
mounted() {
this.map = new google.maps.Map(document.getElementById('map'));
let bounds = new google.maps.LatLngBounds();
for (let i = 0; i < this.photos.length; i++) {
const marker = new google.maps.Marker({
position: {
lat: this.photos[i]['lat'],
lng: this.photos[i]['lng']
},
map: this.map
});
bounds.extend(marker.position);
}
this.map.fitBounds(bounds);
},
data() {
return {
map: {},
marker: null,
photos: []
}
}
});
끝에
map.fitBounds()
를 사용하면 조금 짜증이 됩니다만, 이것은 Google Map의 확대 버튼등에 쓰지 않게 해 주기 때문이라고 합니다.
끄고 싶다
Reference
이 문제에 관하여(Vue.js + Google Maps Api로 여러 마커를 설치하여 좋은 느낌으로 중앙을 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tiwu_dev/items/fd1f52adc462e2a46994
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<div id="map" v-photos="{{$photos}}"></div>
Vue.directive('photos', {
bind: function (el, binding, vnode) {
vnode.context.photos = binding.value;
}
});
new Vue({
el: '#wrapper',
mounted() {
this.map = new google.maps.Map(document.getElementById('map'));
let bounds = new google.maps.LatLngBounds();
for (let i = 0; i < this.photos.length; i++) {
const marker = new google.maps.Marker({
position: {
lat: this.photos[i]['lat'],
lng: this.photos[i]['lng']
},
map: this.map
});
bounds.extend(marker.position);
}
this.map.fitBounds(bounds);
},
data() {
return {
map: {},
marker: null,
photos: []
}
}
});
map.fitBounds()
를 사용하면 조금 짜증이 됩니다만, 이것은 Google Map의 확대 버튼등에 쓰지 않게 해 주기 때문이라고 합니다.끄고 싶다
Reference
이 문제에 관하여(Vue.js + Google Maps Api로 여러 마커를 설치하여 좋은 느낌으로 중앙을 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tiwu_dev/items/fd1f52adc462e2a46994텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)