当前位置:网站首页>批量转换经纬度的网页实现方法
批量转换经纬度的网页实现方法
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
建议使用谷歌浏览器。人生中第一份博客教程,欢迎大家转载。
边栏推荐
- Cpolar内网穿透的面板功能介绍
- Redis cache update strategy actively
- Received your first five-figure salary
- Win7 远程桌面限制IP
- 函数组件和类组件和dva视图更新问题
- 【原创】解决阿里云oss-browser.exe双击没反应打不开,提供一种解决方案
- OpenGL ES2.0编程三部曲(转载自MyArrow)
- Unix Environment Programming Chapter 15 15.3 Functions popen and pclose
- 深度学习--自编码器(AutoEncoder)
- 强化学习 (Reinforcement Learning)
猜你喜欢

Dialogue with the DPO of a multinational consumer brand: How to start with data security compliance?See you on 8.11 Live!

深度学习--循环神经网络(Recurrent Neural Network)
![[贴装专题] 基于多目视觉的手眼标定](/img/10/8303854fbba5d9b06032e38e9df233.png)
[贴装专题] 基于多目视觉的手眼标定

Redis + NodeJS 实现一个能处理海量数据的异步任务队列系统

开源SPL,WebService/Restful广泛应用于程序间通讯,如微服务、数据交换、公共或私有的数据服务等。

多行省略和选择器

Nodejs服务端

分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测
![[Error record] Solve the problem that ASRock J3455-ITX cannot be turned on without a monitor plugged in](/img/a9/d6aba07e6a4e1536cd10d91f274b2e.jpg)
[Error record] Solve the problem that ASRock J3455-ITX cannot be turned on without a monitor plugged in

How tall is the B+ tree of the MySQL index?
随机推荐
GeoScene Pro 2.1下载地址与安装基本要求
一天半的结果——xmms on E2
Unix Environment Programming Chapter 15 15.9 Shared Storage
【Linux】宝塔面板设置MySQL慢查询日志,未走索引日志
unix环境编程 第十四章 14.4 I/O多路转接
Nodejs服务端
unix环境编程 第十五章 15.6 XSI IPC
阿里神作!吃透这份资料入厂率高达99%
How to quickly get through the mirror release process?
1: bubble sort
tensor.eq() tensor.item() tensor.argmax()
electron 应用开发优秀实践
OneNote 教程,如何在 OneNote 中搜索和查找笔记?
antd表单
shell脚本实战(第2版)/人民邮电出版社 脚本2 验证输入:仅限字母和数字
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目
抛出一个问题? Mysql环境下进行Count操作执行的时候速度很慢_需手动给主键添加索引---MySql优化001
1005 继续(3n+1)猜想 (25 分)
UNIX Environment Programming Chapter 15 15.6 XSI IPC
conditional control statement