教你用 jVectorMap 制作屬於自己的旅行足跡


我的足跡地圖

jVectorMap

JVectorMap 是一個優秀的、兼容性強的 jQuery 地圖插件。

它可以工作在包括 IE6 在內的各款瀏覽器中,矢量圖輸出,除官方提供各國地圖數據外,用戶可以使用數據轉換程序定制地圖數據。例如街道地圖、小區地圖等等。

JVectorMap 官方網站提供了很多相關文檔和使用示例,感興趣的小伙伴可以自己研究一下。

官方網站:http://jvectormap.com/

jVectorMap

今天教大家通過 jVectorMap 制作旅行足跡地圖,最終的效果可以查看下面的 Demo 演示(中國),並教大家如何將制作好的足跡地圖嵌入到我們自己的博客中。

Demo : http://www.wujiayi.vip/footprint/

目錄結構

image

  • 紅色框中的文件是必須要引入的內容。

  • 綠色框中的文件是展示的地圖,可自行到官網下載需要的地圖 : http://jvectormap.com/maps/world/world/,拷貝到 js 目錄。

  • index.html 中需要添加足跡位置和相關樣式。

開始

index.html 分為三部分介紹:

  • 如何更換不同國家地圖。

  • 如何修改地圖顏色等相關樣式。

  • 如何添加足跡位置。

第一部分:如何更換不同國家地圖。

<html>
	<head>
		<!--引入jQuery框架-->
		<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
		<!--引入jVectorMap庫-->
		<script type="text/javascript" src="js/jquery-jvectormap-1.2.2.min.js"></script>
		<!--引入樣式表-->
		<link href="js/jquery-jvectormap-1.2.2.css" rel="stylesheet" media="screen">


		<!--引入中國地圖數據庫-->
		<script type="text/javascript" src="js/jquery-jvectormap-cn-merc-en.js"></script>

		<!--引入美國地圖數據庫-->
		<!--script type="text/javascript" src="js/jquery-jvectormap-us-aea.js"></script-->
		<!--引入世界地圖數據庫-->
		<!--script type="text/javascript" src="js/jquery-jvectormap-world-mill.js"></script-->

	</head>
<body>

提前下載需要的國家地圖,拷貝到 js 目錄下。

<head> 標簽里引入地圖數據: <script type="text/javascript" src="js/地圖文件名"></script>

注意 :同時只能有一個地圖庫,注意不要引入多個地圖數據。可以選擇注釋掉其他的,方便更改。

第二部分:如何修改地圖顏色等相關樣式。

	<!--background-color: 地圖背景顏色-->
	<div id="map" style="background-color:#353535"> </div>
	<script>
		$('#map').vectorMap({

			// 此處更改地圖
			map: 'cn_merc_en',   // 中國地圖
			//map: 'us-aea',     // 美國地圖
			//map: 'world-mill', // 世界地圖


			backgroundColor: 'transparent',
			zoomMin: 0.9, // 鼠標縮放時的最小比例
			zoomMax: 2.4, // 鼠標縮放時的最大比例
			focusOn: {
				x: 0.55,
				y: 2,
				scale: 0.9
			},
			regionStyle: {
				initial: {
					fill: '#e5e5e5',   // 地圖顏色
					"fill-opacity": 1, // 省份(州)是否隱藏,鼠標滑動時顯示; 1:顯示,2:隱藏。
					stroke: 'none',
					"stroke-width": 0,
					"stroke-opacity": 1
				},
				hover: {
					fill: '#ccc',  // 鼠標滑動至某省份的高亮顏色。
					"fill-opacity": 0.8
				},
				selected: {
					fill: 'yellow'
				},
				selectedHover: {}
			},
			markerStyle: {
		        initial: {
		            fill: '#fd8888', // 足跡位置的填充顏色
		            stroke: '#fff'   // 足跡位置的描邊顏色
		        },
				hover: {
					fill: '#fd2020', // 鼠標滑動至足跡位置后的填充顏色
					stroke: '#fff',  // 鼠標滑動至足跡位置后的描邊顏色
					"fill-opacity": 0.8
				},
		    },
		});
	</script>
</html>

參照代碼注釋修改顏色和相關樣式。

千萬注意 :在更改地圖時 map: '地圖名稱' ,地圖名稱是地圖數據文件名的后半部分。

例如:

美國地圖文件名:jquery-jvectormap-us-aea.js

那地圖的名稱是:us-aea

但是要注意把 - (橫杠)更改成 _(下划線)。 否則不會顯示地圖。

第三部分:如何添加足跡位置。

	markers: [ // 足跡位置

		// {latLng: [經度(保留兩位小數), 緯度(保留兩位小數)], name: '城市名稱'},
		// 推薦查詢經緯度網站:http://www.gpsspg.com/maps.htm

		{latLng: [39.90, 116.41], name: '北京'},
		{latLng: [31.24, 121.50], name: '上海'},

		{latLng: [46.06, 122.06], name: '內蒙古 - 烏蘭浩特'}
	]

推薦查詢經緯度網站:http://www.gpsspg.com/maps.htm

語法:{latLng: [經度(保留兩位小數), 緯度(保留兩位小數)], name: '城市名稱'},

如何嵌入式到博客中

<iframe style="max-width: 100%" 
      frameborder="no" 
      border="0" 
      marginwidth="0" 
      marginheight="0" 
      width="100%" 
      height="750px" 
      src="替換成你的足跡地圖鏈接">                                        
</iframe>

把制作好的足跡地圖文件放在服務器上,把訪問連接放在 src 中。

然后將上面的代碼復制到你的博客頁面上即可。

可適配手機端和等比例縮放。

獲取源碼

GitHub : https://github.com/HelloWuJiaYi/jVectorMap-Footprint

廣告時間

歡迎訪問我的個人博客:

http://www.wujiayi.vip

我的微信公眾號:

吳佳軼同學


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM