Leaflet
https://github.com/Leaflet/Leaflet
Leaflet web
https://leafletjs.com/
Leaflet 互動式 JavaScript 地圖繪製工具,適用手機、平板與電腦
https://blog.gtwang.org/web-development/leaflet-open-source-javascript-library-for-mobile-friendly-interactive-maps/
Vue-CLI and Leaflet: 線繪製
https://juejin.im/post/5d272c596fb9a07ef161adfc
Leaflet是一套對行動裝置友善的互動地圖並且開源的JavaScript函式庫,它是一套開放原始碼的輕量級 JavaScript 網頁地圖函式庫,其所呈現的效果與 Google 地圖非常相似,主要的特色是使用簡單、速度快,並且跨平台,許多知名網站(如 GitHub 與 Flickr 等)都是使用 Leaflet 來呈現地圖。
以下為vue化套件
Vue2Leaflet
https://github.com/KoRiGaN/Vue2Leaflet
以下為單html檔測試範例︰
載入後畫面為︰
#Javascript, Leaflet, vue, map, 地圖
https://github.com/Leaflet/Leaflet
Leaflet web
https://leafletjs.com/
Leaflet 互動式 JavaScript 地圖繪製工具,適用手機、平板與電腦
https://blog.gtwang.org/web-development/leaflet-open-source-javascript-library-for-mobile-friendly-interactive-maps/
Vue-CLI and Leaflet: 線繪製
https://juejin.im/post/5d272c596fb9a07ef161adfc
以下為vue化套件
Vue2Leaflet
https://github.com/KoRiGaN/Vue2Leaflet
以下為單html檔測試範例︰
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Leaflet Vue Demo</title>
<style>
html, body, #app {
height: 100%;
margin: 0;
}
</style>
<!--使用vue-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.min.js"></script>
<!--使用leaflet-->
<link href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.4.0/leaflet.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.4.0/leaflet.js"></script>
<script src="https://unpkg.com/vue2-leaflet@0.0.60/dist/vue2-leaflet.js"></script>
</head>
<body>
<v-map id="app"
:zoom="zoom"
:center="center">
<v-tilelayer :url="url"></v-tilelayer>
<v-marker v-for="marker in markers"
:key="marker.id"
:visible="marker.visible"
:draggable="marker.draggable"
:lat-lng="marker.position"
:icon="cusicon">
<v-popup :content="marker.tooltip"></v-popup>
</v-marker>
<v-polygon v-for="shape in shapes"
:key="shape.id"
:lat-lngs="shape.geometry.coordinates"></v-polygon>
</v-map>
<script type="text/javascript">
//使用Vue.component加載VueECharts
Vue.component('v-map', Vue2Leaflet.Map);
Vue.component('v-tilelayer', Vue2Leaflet.TileLayer);
Vue.component('v-popup', Vue2Leaflet.Popup);
Vue.component('v-marker', Vue2Leaflet.Marker);
Vue.component('v-tooltip', Vue2Leaflet.Tooltip);
Vue.component('v-polygon', Vue2Leaflet.Polygon)
new Vue({
el: '#app',
data: {
zoom: 14,
center: [51.505, -0.08],
url: 'http://{s}.tile.osm.org/{z}/{x}/{y}.png',
markers: [
{
id: "m1",
position: {
lat: 51.505,
lng: -0.07
},
tooltip: "tooltip for marker1",
draggable: true,
visible: true
},
{
id: "m2",
position: {
lat: 51.505,
lng: -0.09
},
tooltip: "tooltip for marker2",
draggable: true,
visible: true
}
],
cusicon: L.icon({
iconUrl: 'http://leafletjs.com/examples/custom-icons/leaf-green.png',
shadowUrl: 'http://leafletjs.com/examples/custom-icons/leaf-shadow.png',
iconSize: [38, 95],
shadowSize: [50, 64],
iconAnchor: [22, 94],
shadowAnchor: [4, 62],
popupAnchor: [- 3, -76]
}),
shapes: [{
id: 'my_id',
geometry: {
coordinates: [[[[51.49, -0.07], [51.50, -0.09], [51.51, -0.07]]]]
}
}],
},
});
</script>
</body>
</html>
載入後畫面為︰
#Javascript, Leaflet, vue, map, 地圖

留言
張貼留言