当前位置:网站首页>批量转换经纬度的网页实现方法
批量转换经纬度的网页实现方法
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
建议使用谷歌浏览器。人生中第一份博客教程,欢迎大家转载。
边栏推荐
猜你喜欢
一天半的结果——xmms on E2
Redis + NodeJS 实现一个能处理海量数据的异步任务队列系统
3D打印了这个杜邦线理线神器,从此桌面再也不乱了
深度学习--循环神经网络(Recurrent Neural Network)
Attentional Feature Fusion
Loop nesting and basic operations on lists
【原创】JPA中@PrePersist和@PreUpdate的用法
shell脚本实战(第2版)/人民邮电出版社 脚本1 在PATH中查找程序
BERT预训练模型(Bidirectional Encoder Representations from Transformers)-原理详解
Tom Morgan | Twenty-One Rules of Life
随机推荐
2022强网杯WP
【 original 】 VMware Workstation implementation Openwrt soft routing, the ESXI, content is very detailed!
unix环境编程 第十四章 14.4 I/O多路转接
机器学习--线性回归(Linear Regression)
函数组件和类组件和dva视图更新问题
xmms的均衡器试验成功 音效相当不错 比rockbox可能还要好
力扣(LeetCode)220. 存在重复元素 III(2022.08.08)
Tom Morgan | Twenty-One Rules of Life
Pyhton实战汇总篇
Win32控件------------显示系统使用的控件版本
抛出一个问题? Mysql环境下进行Count操作执行的时候速度很慢_需手动给主键添加索引---MySql优化001
10000以内素数表(代码块)
想了解API接口,这一篇就够了
使用cpolar远程连接群晖NAS(创建临时链接)
unix环境编程 第十五章 15.6 XSI IPC
GeoScene Pro 2.1下载地址与安装基本要求
The GNU Privacy Guard
深度学习--神经网络(基础讲解)
深度学习--生成对抗网络(Generative Adversarial Nets)
Dialogue with the DPO of a multinational consumer brand: How to start with data security compliance?See you on 8.11 Live!