当前位置:网站首页>批量转换经纬度的网页实现方法
批量转换经纬度的网页实现方法
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
建议使用谷歌浏览器。人生中第一份博客教程,欢迎大家转载。
边栏推荐
- unix环境编程 第十五章 15.6 XSI IPC
- BERT预训练模型(Bidirectional Encoder Representations from Transformers)-原理详解
- unix环境编程 第十四章 14.4 I/O多路转接
- hover内部指定子类的样式
- Oracle数据库常用函数总结
- 深度学习--生成对抗网络(Generative Adversarial Nets)
- 在犹豫中度过了老多天,今天的工作时记录
- 【 size_t is unsigned integer (1 > 10) - > 1.
- Cpolar内网穿透的面板功能介绍
- unix环境编程 第十五章 15.3 函数popen和pclose
猜你喜欢
相关系数计算,热力图绘制,代码实现
阿里神作!吃透这份资料入厂率高达99%
Demand side power load forecasting (Matlab code implementation)
StratoVirt 中的虚拟网卡是如何实现的?
cesium加载地图
[贴装专题] 贴装流程中涉及到的位置关系计算
对话跨国消费品牌DPO:数据安全合规从何做起?8.11直播见!
How tall is the B+ tree of the MySQL index?
Solve the ali cloud oss - the original 】 【 exe double-click response can't open, to provide a solution
mongodb学习笔记
随机推荐
UNIX Environment Programming Chapter 15 15.6 XSI IPC
day16_03集合
好久没更新博客了
机器学习-逻辑回归(logistics regression)
主从postition变化无法锁定_Slave_IO_Running显示No_Slave_Sql_Running显示No---Mysql主从复制同步002
mongodb学习笔记
json库的dumps()方法和loads()方法
pytorch widedeep文档
Redis cache update strategy actively
unix环境编程 第十五章 15.9 共享存储
Dialogue with the DPO of a multinational consumer brand: How to start with data security compliance?See you on 8.11 Live!
小程序员的发展计划
学习NET-SNMP之一 ---------编译NET-SNMP程序。
机器学习--线性回归(Linear Regression)
[贴装专题] 视觉贴装平台与贴装流程介绍
StratoVirt 中的虚拟网卡是如何实现的?
可能95%的人还在犯的PyTorch错误
xmms的均衡器试验成功 音效相当不错 比rockbox可能还要好
Unix System Programming Chapter 15 15.2 Pipes
OpengGL绘制立方体的三种方法