当前位置:网站首页>批量转换经纬度的网页实现方法
批量转换经纬度的网页实现方法
2022-08-09 10:29:00 【新月清光】
第一步:注册免费域名
利用的虚拟机和域名来自于该网站,可以进行注册申请。
第二步:代码修改
原始代码部分省略,可以从最基本的hello world网页开始学习。
利用免费空间发布网站,发布页面上会自动添加以下内容,为了不影响使用,我们应该将该内容隐藏。
利用浏览器查看网页源代码,发现内容存在于标签a内容,因此需要将该标签隐藏,隐藏前确保页面代码中没有其他a标签,由于代码中其他处存在a,因此不能使用a标签。由于a存在于center中,代码中其他地方没有使用,因此选择center。
因此在html代码中加入隐藏内容,使用了jquery引用,因此需要在头文件中引入jquery的js文件,函数如下:
function func(){
$("center").hide();
};
在网页一开始加载时执行该函数,方法如下:
$(document).ready(function(){
func();
});
如上操作可以解决,代码上传该网站,网页带有该网页广告的问题,结果如下图。
为了避免他人查看该网站代码,因此需要在该网页前面添加如下jsp语句,屏蔽掉右键、复制、选择等操作。
<script>
document.oncontextmenu=new Function("return false")
document.onselectstart=new Function("return false")
</script>
虽然如此,但是该网页在制作的时候有参考他人代码,参考网站如下:
该网页只能进行单个经纬度坐标的转换,可以对该功能拓展,增加批量转换经纬度的功能,问题在于,jquery中不支持表格的复制粘贴,因此需要找到一个能读取excel的插件,实现数据的批量导入,插件的引用如下。
<script src="http://oss.sheetjs.com/js-xlsx/xlsx.full.min.js"></script>
对单点转换经纬度的函数进行修改,循环操作,批量转换经纬度。
度转度分秒的代码如下:
<script>
/*
FileReader共有4种读取方法:
1.readAsArrayBuffer(file):将文件读取为ArrayBuffer。
2.readAsBinaryString(file):将文件读取为二进制字符串
3.readAsDataURL(file):将文件读取为Data URL
4.readAsText(file, [encoding]):将文件读取为文本,encoding缺省值为'UTF-8'
*/
ar wb;//读取完成的数据
var rABS = false; //是否将文件读取为二进制字符串
function importf(obj) {//导入
if(!obj.files) {
return;
}
var f = obj.files[0];
var reader = new FileReader();
reader.onload = function TDFM(e) {
var data = e.target.result;
if(rABS) {
wb = XLSX.read(btoa(fixdata(data)), {//手动转化
type: 'base64'
});
} else {
wb = XLSX.read(data,
{
type: 'binary'
});
}
//wb.SheetNames[0]是获取Sheets中第一个Sheet的名字
//wb.Sheets[Sheet名]获取第一个Sheet的数据
//document.getElementById("demo").innerHTML= JSON.stringify( XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]) );
json = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]);
var RESY=null;
var RESX=null;
for(i=0;i<json.length;i++){
resultY = ChangeToDFM(json[i].纬度);
resultX = ChangeToDFM(json[i].经度);
if(RESY==null){
RESY = "纬度" +"<br/>"+ resultY ;
RESX = "经度" +"<br/>"+ resultX ;
}else{
RESY = RESY +"<br/>"+resultY ;
RESX = RESX +"<br/>"+resultX ;
}
}
document.getElementById("left").innerHTML = RESX;
document.getElementById("right").innerHTML = RESY;
};
if(rABS) {
reader.readAsArrayBuffer(f);
} else {
reader.readAsBinaryString(f);
}
}
function fixdata(data) { //文件流转BinaryString
var o = "",
l = 0,
w = 10240;
for(; l < data.byteLength / w; ++l) o +=
String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)));
o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)));
return o;
}
//转换经纬度
function ChangeToDFM(du)
{
//var du = document.getElementById("input_du").value;
var str1 = du.split(".");
var du1 = str1[0];
var tp = "0."+str1[1]
var tp = String(tp*60); //这里进行了强制类型转换
var str2 = tp.split(".");
var fen =str2[0];
tp = "0."+str2[1];
tp = tp*60;
var miao = tp.toFixed(4);
if(str1[1]==null){
result = du1+"°"
}else if(str2[1]==null){
result = du1+"°"+fen+"'"
}else{
result = du1+"°"+fen+"'"+miao+"\"";
}
return result;
}
</script>
结果如下:
第三步:网页上传
利用工具8UFtp工具,地址和账户处输入内容如下:
密码为自己的登陆密码。然后点击链接,看右下角的提示信息,如果连接成功则,可以进行文件的上传。
本教程中,结果就三个html文件,(实际项目中不可能这么简单)。右键点击上传,如果中间右侧部分出现网页内容,则成功。注意:主html文件一定要改成index.html文件。
上传完成后,一定要该密码,之后才能打开自己上传的网页。
欢迎大家使用该经纬度转换工具,网址为:http://yzmv587.cn3v.net/index.html
建议使用谷歌浏览器。人生中第一份博客教程,欢迎大家转载。
边栏推荐
- 【MySQL】mysql因为字符集导致left join出现Using join buffer (Block Nested Loop)
- Attentional Feature Fusion
- 相关系数计算,热力图绘制,代码实现
- 笔记本电脑使用常见问题,持续更新
- unix环境编程 第十五章 15.10 POSIX信号量
- 壁纸
- By asking where the variables are stored, the shepherd boy laughed and said to use pointers, Go lang1.18 introductory refining tutorial, from Bai Ding to Hongru, the use of go lang type pointers (Poin
- 深度学习--循环神经网络(Recurrent Neural Network)
- 虚拟列表key复用问题
- unix环境编程 第十四章 14.8 存储映射I/O
猜你喜欢
随机推荐
Unix System Programming Chapter 15 15.2 Pipes
StratoVirt 中的虚拟网卡是如何实现的?
【报错记录】解决华擎J3455-ITX不插显示器无法开机的问题
Master-slave postition changes cannot be locked_Slave_IO_Running shows No_Slave_Sql_Running shows No---Mysql master-slave replication synchronization 002
[贴装专题] 基于多目视觉的手眼标定
antd表单
Redis cache update strategy actively
好久没更新博客了
hover内部指定子类的样式
力扣(LeetCode)220. 存在重复元素 III(2022.08.08)
unix环境编程 第十四章 14.4 I/O多路转接
踩坑scrollIntoView
Cpolar内网穿透的面板功能介绍
snmp++编译错误问题解决方法
xmms播放器加了播放列表的管理功能
Unix Environment Programming Chapter 15 15.3 Functions popen and pclose
小程序员的发展计划
unix环境编程 第十五章 15.6 XSI IPC
numpy的ndarray取数操作
Attentional Feature Fusion