《Leaflet 进阶知识点》- Leaflet.draw 中英文转换

一、转换

原生是英文,所以要重定义,直接覆盖下面的 leaflet.draw-cn.js 文件。官方说明

L.drawLocal = {
	draw: {
		toolbar: {
			// #TODO: this should be reorganized where actions are nested in actions
			// ex: actions.undo  or actions.cancel
			actions: {
				title: '取消绘图',//'Cancel drawing',
				text: '',//'Cancel'
			},
			finish: {
				title: '完成绘图',//'Finish drawing',
				text: 'Finish'
			},
			undo: {
				title: '删除最后绘制的点',//'Delete last point drawn',
				text: '',//'Delete last point'
			},
			buttons: {
				polyline: '绘制一个多段线',//'Draw a polyline',
				polygon: '绘制一个多边形',//'Draw a polygon',
				rectangle: '绘制一个矩形',//'Draw a rectangle',
				circle: '绘制一个圆',//'Draw a circle',
				marker: '绘制一个标记',//'Draw a marker',
				circlemarker: '绘制一个圆形标记',//'Draw a circlemarker'
			}
		},
		handlers: {
			circle: {
				tooltip: {
					start: '单击并拖动以绘制圆',//'Click and drag to draw circle.'
				},
				radius: 'Radius'
			},
			circlemarker: {
				tooltip: {
					start: '单击“地图”以放置圆标记',//'Click map to place circle marker.'
				}
			},
			marker: {
				tooltip: {
					start: '单击“地图”以放置标记',//'Click map to place marker.'
				}
			},
			polygon: {
				tooltip: {
					start: '单击开始绘制形状',//'Click to start drawing shape.',
					cont: '单击继续绘制形状',//'Click to continue drawing shape.',
					end: '单击第一个点关闭此形状',//'Click first point to close this shape.'
				}
			},
			polyline: {
				error: '<strong>错误:</strong>形状边缘不能交叉!',//'<strong>Error:</strong> shape edges cannot cross!',
				tooltip: {
					start: '单击开始绘制线',//'Click to start drawing line.',
					cont: '单击以继续绘制线',//'Click to continue drawing line.',
					end: '单击“最后一点”以结束线',//'Click last point to finish line.'
				}
			},
			rectangle: {
				tooltip: {
					start: '单击并拖动以绘制矩形',//'Click and drag to draw rectangle.'
				}
			},
			simpleshape: {
				tooltip: {
					end: '释放鼠标完成绘图',//'Release mouse to finish drawing.'
				}
			}
		}
	},
	edit: {
		toolbar: {
			actions: {
				save: {
					title: '保存更改',//'Save changes',
					text: '保存',//'Save'
				},
				cancel: {
					title: '取消编辑,放弃所有更改',//'Cancel editing, discards all changes',
					text: '取消',//'Cancel'
				},
				clearAll: {
					title: '清除所有图层',//'Clear all layers',
					text: '清除所有',//'Clear All'
				}
			},
			buttons: {
				edit: '编辑图层',//'Edit layers',
				editDisabled: '无可编辑的图层',//'No layers to edit',
				remove: '删除图层',//'Delete layers',
				removeDisabled: '无可删除的图层',//'No layers to delete'
			}
		},
		handlers: {
			edit: {
				tooltip: {
					text: '拖动控制柄或标记以编辑要素',//'Drag handles or markers to edit features.',
					subtext: '单击“取消”撤消更改',//'Click cancel to undo changes.'
				}
			},
			remove: {
				tooltip: {
					text: '单击要删除的要素',//'Click on a feature to remove.'
				}
			}
		}
	}
};

<script> 中引入 js,注意添加顺序

import 'leaflet'
import 'leaflet-draw'
import '../../public/js/leaflet.draw-cn.js'

二、效果

原生

 修改后 

可参考 《Leaflet 进阶知识点》- Leaflet.draw 交互绘制

不可以。虽然 Leaflet.toolbar 插件可以和 LeafletLeaflet.draw 插件一起使用,但是它们之间并没有直接的依赖关系。因此,在使用 Leaflet.toolbar 之前,你需要先确保已经成功引入了 LeafletLeaflet.draw 插件,并且它们都已经正确地初始化了。 具体来说,你需要在 HTML 文件中引入 LeafletLeaflet.draw 插件的 JavaScript 文件: ```html <!-- Leaflet CSS --> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" integrity="sha384-y0eCkQI3nOJ9yLjQ1IYbQ1zJmGDDG2J8K7iZI7wF6cCgR0n7jCfz3lXuZ3mr8tG6" crossorigin="anonymous"> <!-- Leaflet JavaScript --> <script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js" integrity="sha384-9xj8XQeFJgYD2Qd7Jl9KdQn5mUd/K1qQwHq2+Q9XGkKm2Vwdjz6pCtz+Yxwa8g1y" crossorigin="anonymous"></script> <!-- Leaflet.draw CSS --> <link rel="stylesheet" href="https://unpkg.com/leaflet-draw@1.0.4/dist/leaflet.draw.css" /> <!-- Leaflet.draw JavaScript --> <script src="https://unpkg.com/leaflet-draw@1.0.4/dist/leaflet.draw.js"></script> ``` 然后,你需要在 JavaScript 代码中创建地图对象和编辑工具栏对象: ```javascript // 创建地图对象 var map = L.map('map').setView([51.505, -0.09], 13); // 添加 Leaflet 图层 L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' + '<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' + 'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>', maxZoom: 18, }).addTo(map); // 创建编辑工具栏对象 var toolbar = L.toolbar().addTo(map); ``` 最后,你可以通过向 `toolbar` 对象添加按钮来创建自定义的编辑工具栏。需要注意的是,在使用 Leaflet.toolbar 插件时,你需要使用 jQuery 库来操作 DOM 元素,所以你还需要在 HTML 文件中引入 jQuery 库: ```html <!-- jQuery --> <script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> ``` 引入这些文件后,你就可以开始使用 Leaflet.toolbar 插件来创建自定义的编辑工具栏了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值