Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
new-socketemulator
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李远洪
new-socketemulator
Commits
0f68835d
Commit
0f68835d
authored
4 years ago
by
liyuanhong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
地图工具,修改了经纬度误差问题
parent
8880e7f8
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
184 additions
and
8 deletions
+184
-8
data/messageTools/carData/012201500010.json
data/messageTools/carData/012201500010.json
+1
-1
data/protocolTools/carData/M202003060520.json
data/protocolTools/carData/M202003060520.json
+1
-1
static/js/coordtransform.js
static/js/coordtransform.js
+154
-0
templates/otherTools/maptool.html
templates/otherTools/maptool.html
+28
-6
No files found.
data/messageTools/carData/012201500010.json
View file @
0f68835d
{
"time"
:
{
"dateTime"
:
"2020-07-24 13:33:24"
,
"date"
:
"2020-07-24"
,
"time"
:
"13:33:24"
},
"curDayTravel"
:
{
"todayTotalMilleage"
:
3158
,
"todayTotalOil"
:
203
,
"todayTotalTime"
:
197
,
"theMilleage"
:
3158
,
"theOil"
:
203
,
"theTime"
:
197
},
"travelData"
:
{
"totalMilleage"
:
123527
,
"totalOil"
:
10920
,
"totalTime"
:
7578
}}
{
"time"
:
{
"dateTime"
:
"2020-07-29 11:26:33"
,
"date"
:
"2020-07-29"
,
"time"
:
"11:26:33"
},
"curDayTravel"
:
{
"todayTotalMilleage"
:
3158
,
"todayTotalOil"
:
203
,
"todayTotalTime"
:
197
,
"theMilleage"
:
3158
,
"theOil"
:
203
,
"theTime"
:
197
},
"travelData"
:
{
"totalMilleage"
:
126685
,
"totalOil"
:
11123
,
"totalTime"
:
7775
}}
\ No newline at end of file
\ No newline at end of file
This diff is collapsed.
Click to expand it.
data/protocolTools/carData/M202003060520.json
View file @
0f68835d
{
"time"
:
{
"dateTime"
:
"2020-07-24 10:18:22"
,
"date"
:
"2020-07-24"
,
"time"
:
"10:18:22"
},
"curDayTravel"
:
{
"todayTotalMilleage"
:
19292
,
"todayTotalOil"
:
1217
,
"todayTotalTime"
:
1205
,
"theMilleage"
:
3008
,
"theOil"
:
188
,
"theTime"
:
188
},
"travelData"
:
{
"totalMilleage"
:
622444
,
"totalOil"
:
55189
,
"totalTime"
:
37473
},
"event"
:
{
"threeRapid"
:
{
"totalRapidlyAccelerate"
:
53
,
"totalSharpSlowdown"
:
42
,
"totalSharpTurn"
:
44
}}}
{
"time"
:
{
"dateTime"
:
"2020-07-29 12:19:19"
,
"date"
:
"2020-07-29"
,
"time"
:
"12:19:19"
},
"curDayTravel"
:
{
"todayTotalMilleage"
:
1635
,
"todayTotalOil"
:
105
,
"todayTotalTime"
:
102
,
"theMilleage"
:
1635
,
"theOil"
:
105
,
"theTime"
:
102
},
"travelData"
:
{
"totalMilleage"
:
624079
,
"totalOil"
:
55294
,
"totalTime"
:
37575
},
"event"
:
{
"threeRapid"
:
{
"totalRapidlyAccelerate"
:
53
,
"totalSharpSlowdown"
:
42
,
"totalSharpTurn"
:
44
}}}
\ No newline at end of file
\ No newline at end of file
This diff is collapsed.
Click to expand it.
static/js/coordtransform.js
0 → 100644
View file @
0f68835d
/**
* Created by Wandergis on 2015/7/8.
* 提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
* coordtransform.js
*/
//UMD魔法代码
// if the module has no dependencies, the above pattern can be simplified to
(
function
(
root
,
factory
)
{
if
(
typeof
define
===
'
function
'
&&
define
.
amd
)
{
// AMD. Register as an anonymous module.
define
([],
factory
);
}
else
if
(
typeof
module
===
'
object
'
&&
module
.
exports
)
{
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module
.
exports
=
factory
();
}
else
{
// Browser globals (root is window)
root
.
coordtransform
=
factory
();
}
}(
this
,
function
()
{
//定义一些常量
var
x_PI
=
3.14159265358979324
*
3000.0
/
180.0
;
var
PI
=
3.1415926535897932384626
;
var
a
=
6378245.0
;
var
ee
=
0.00669342162296594323
;
/**
* 百度坐标系 (BD-09) 与 火星坐标系 (GCJ-02)的转换
* 即 百度 转 谷歌、高德
* @param bd_lon
* @param bd_lat
* @returns {*[]}
*/
var
bd09togcj02
=
function
bd09togcj02
(
bd_lon
,
bd_lat
)
{
var
bd_lon
=
+
bd_lon
;
var
bd_lat
=
+
bd_lat
;
var
x
=
bd_lon
-
0.0065
;
var
y
=
bd_lat
-
0.006
;
var
z
=
Math
.
sqrt
(
x
*
x
+
y
*
y
)
-
0.00002
*
Math
.
sin
(
y
*
x_PI
);
var
theta
=
Math
.
atan2
(
y
,
x
)
-
0.000003
*
Math
.
cos
(
x
*
x_PI
);
var
gg_lng
=
z
*
Math
.
cos
(
theta
);
var
gg_lat
=
z
*
Math
.
sin
(
theta
);
return
[
gg_lng
,
gg_lat
]
};
/**
* 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换
* 即谷歌、高德 转 百度
* @param lng
* @param lat
* @returns {*[]}
*/
var
gcj02tobd09
=
function
gcj02tobd09
(
lng
,
lat
)
{
var
lat
=
+
lat
;
var
lng
=
+
lng
;
var
z
=
Math
.
sqrt
(
lng
*
lng
+
lat
*
lat
)
+
0.00002
*
Math
.
sin
(
lat
*
x_PI
);
var
theta
=
Math
.
atan2
(
lat
,
lng
)
+
0.000003
*
Math
.
cos
(
lng
*
x_PI
);
var
bd_lng
=
z
*
Math
.
cos
(
theta
)
+
0.0065
;
var
bd_lat
=
z
*
Math
.
sin
(
theta
)
+
0.006
;
return
[
bd_lng
,
bd_lat
]
};
/**
* WGS84转GCj02
* @param lng
* @param lat
* @returns {*[]}
*/
var
wgs84togcj02
=
function
wgs84togcj02
(
lng
,
lat
)
{
var
lat
=
+
lat
;
var
lng
=
+
lng
;
if
(
out_of_china
(
lng
,
lat
))
{
return
[
lng
,
lat
]
}
else
{
var
dlat
=
transformlat
(
lng
-
105.0
,
lat
-
35.0
);
var
dlng
=
transformlng
(
lng
-
105.0
,
lat
-
35.0
);
var
radlat
=
lat
/
180.0
*
PI
;
var
magic
=
Math
.
sin
(
radlat
);
magic
=
1
-
ee
*
magic
*
magic
;
var
sqrtmagic
=
Math
.
sqrt
(
magic
);
dlat
=
(
dlat
*
180.0
)
/
((
a
*
(
1
-
ee
))
/
(
magic
*
sqrtmagic
)
*
PI
);
dlng
=
(
dlng
*
180.0
)
/
(
a
/
sqrtmagic
*
Math
.
cos
(
radlat
)
*
PI
);
var
mglat
=
lat
+
dlat
;
var
mglng
=
lng
+
dlng
;
return
[
mglng
,
mglat
]
}
};
/**
* GCJ02 转换为 WGS84
* @param lng
* @param lat
* @returns {*[]}
*/
var
gcj02towgs84
=
function
gcj02towgs84
(
lng
,
lat
)
{
var
lat
=
+
lat
;
var
lng
=
+
lng
;
if
(
out_of_china
(
lng
,
lat
))
{
return
[
lng
,
lat
]
}
else
{
var
dlat
=
transformlat
(
lng
-
105.0
,
lat
-
35.0
);
var
dlng
=
transformlng
(
lng
-
105.0
,
lat
-
35.0
);
var
radlat
=
lat
/
180.0
*
PI
;
var
magic
=
Math
.
sin
(
radlat
);
magic
=
1
-
ee
*
magic
*
magic
;
var
sqrtmagic
=
Math
.
sqrt
(
magic
);
dlat
=
(
dlat
*
180.0
)
/
((
a
*
(
1
-
ee
))
/
(
magic
*
sqrtmagic
)
*
PI
);
dlng
=
(
dlng
*
180.0
)
/
(
a
/
sqrtmagic
*
Math
.
cos
(
radlat
)
*
PI
);
var
mglat
=
lat
+
dlat
;
var
mglng
=
lng
+
dlng
;
return
[
lng
*
2
-
mglng
,
lat
*
2
-
mglat
]
}
};
var
transformlat
=
function
transformlat
(
lng
,
lat
)
{
var
lat
=
+
lat
;
var
lng
=
+
lng
;
var
ret
=
-
100.0
+
2.0
*
lng
+
3.0
*
lat
+
0.2
*
lat
*
lat
+
0.1
*
lng
*
lat
+
0.2
*
Math
.
sqrt
(
Math
.
abs
(
lng
));
ret
+=
(
20.0
*
Math
.
sin
(
6.0
*
lng
*
PI
)
+
20.0
*
Math
.
sin
(
2.0
*
lng
*
PI
))
*
2.0
/
3.0
;
ret
+=
(
20.0
*
Math
.
sin
(
lat
*
PI
)
+
40.0
*
Math
.
sin
(
lat
/
3.0
*
PI
))
*
2.0
/
3.0
;
ret
+=
(
160.0
*
Math
.
sin
(
lat
/
12.0
*
PI
)
+
320
*
Math
.
sin
(
lat
*
PI
/
30.0
))
*
2.0
/
3.0
;
return
ret
};
var
transformlng
=
function
transformlng
(
lng
,
lat
)
{
var
lat
=
+
lat
;
var
lng
=
+
lng
;
var
ret
=
300.0
+
lng
+
2.0
*
lat
+
0.1
*
lng
*
lng
+
0.1
*
lng
*
lat
+
0.1
*
Math
.
sqrt
(
Math
.
abs
(
lng
));
ret
+=
(
20.0
*
Math
.
sin
(
6.0
*
lng
*
PI
)
+
20.0
*
Math
.
sin
(
2.0
*
lng
*
PI
))
*
2.0
/
3.0
;
ret
+=
(
20.0
*
Math
.
sin
(
lng
*
PI
)
+
40.0
*
Math
.
sin
(
lng
/
3.0
*
PI
))
*
2.0
/
3.0
;
ret
+=
(
150.0
*
Math
.
sin
(
lng
/
12.0
*
PI
)
+
300.0
*
Math
.
sin
(
lng
/
30.0
*
PI
))
*
2.0
/
3.0
;
return
ret
};
/**
* 判断是否在国内,不在国内则不做偏移
* @param lng
* @param lat
* @returns {boolean}
*/
var
out_of_china
=
function
out_of_china
(
lng
,
lat
)
{
var
lat
=
+
lat
;
var
lng
=
+
lng
;
// 纬度3.86~53.55,经度73.66~135.05
return
!
(
lng
>
73.66
&&
lng
<
135.05
&&
lat
>
3.86
&&
lat
<
53.55
);
};
return
{
bd09togcj02
:
bd09togcj02
,
gcj02tobd09
:
gcj02tobd09
,
wgs84togcj02
:
wgs84togcj02
,
gcj02towgs84
:
gcj02towgs84
}
}));
\ No newline at end of file
This diff is collapsed.
Click to expand it.
templates/otherTools/maptool.html
View file @
0f68835d
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
{% block title %}msgSetting{% endblock %}
{% block title %}msgSetting{% endblock %}
{% block content_01 %}
{% block content_01 %}
<script
src=
"../../static/js/messageTools/setting.js"
></script>
<script
src=
"../../static/js/messageTools/setting.js"
></script>
<script
src=
"../../static/js/coordtransform.js"
></script>
<script
type=
"text/javascript"
src=
"https://webapi.amap.com/maps?v=1.4.15&key=d96c8dc7e0d6c636d65e6f6d75b0ccb4"
></script>
<script
type=
"text/javascript"
src=
"https://webapi.amap.com/maps?v=1.4.15&key=d96c8dc7e0d6c636d65e6f6d75b0ccb4"
></script>
<style>
<style>
.nav-pills
li
{
.nav-pills
li
{
...
@@ -81,8 +82,21 @@
...
@@ -81,8 +82,21 @@
if
(
clickType
==
0
){
if
(
clickType
==
0
){
var
lnglat
=
ev
.
lnglat
;
var
lnglat
=
ev
.
lnglat
;
var
lnglattxt
=
lnglat
[
"
lng
"
]
+
"
,
"
+
lnglat
[
"
lat
"
];
var
lnglattxt
=
lnglat
[
"
lng
"
]
+
"
,
"
+
lnglat
[
"
lat
"
];
$
(
"
#curLngLat
"
).
val
(
lnglattxt
);
//国测坐标(高德坐标),转wgs84 (原始坐标)
var
rawGps
=
coordtransform
.
gcj02towgs84
(
parseFloat
(
lnglat
[
"
lng
"
]),
parseFloat
(
lnglat
[
"
lat
"
]));
var
lnglattxtraw
=
rawGps
[
0
].
toFixed
(
6
)
+
"
,
"
+
rawGps
[
1
].
toFixed
(
6
);
$
(
"
#curLngLat
"
).
val
(
lnglattxtraw
);
}
}
if
(
marker
!=
undefined
){
map
.
remove
(
marker
);
}
var
theGps
=
lnglattxt
.
split
(
"
,
"
)
marker
=
new
AMap
.
Marker
({
position
:
new
AMap
.
LngLat
(
theGps
[
0
],
theGps
[
1
]),
// 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
//position: new AMap.LngLat(rawGps[0],rawGps[1]), // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
title
:
'
定位
'
});
map
.
add
(
marker
);
});
});
function
ctrAreaShow
(
e
){
function
ctrAreaShow
(
e
){
var
cliId
=
$
(
e
).
attr
(
"
id
"
);
var
cliId
=
$
(
e
).
attr
(
"
id
"
);
...
@@ -125,12 +139,20 @@
...
@@ -125,12 +139,20 @@
map
.
remove
(
marker
);
map
.
remove
(
marker
);
}
}
var
theGps
=
$
(
"
#toLngLat
"
).
val
().
split
(
"
,
"
)
var
theGps
=
$
(
"
#toLngLat
"
).
val
().
split
(
"
,
"
)
marker
=
new
AMap
.
Marker
({
position
:
new
AMap
.
LngLat
(
theGps
[
0
],
theGps
[
1
]),
// 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
AMap
.
convertFrom
(
theGps
,
'
gps
'
,
function
(
status
,
result
)
{
title
:
'
定位
'
if
(
result
.
info
===
'
ok
'
)
{
var
cvtGps
=
[
result
[
"
locations
"
][
0
][
"
lng
"
],
result
[
"
locations
"
][
0
][
"
lat
"
]];
//var cvtGps = coordtransform.wgs84togcj02(parseFloat(theGps[0]), parseFloat(theGps[1]));
marker
=
new
AMap
.
Marker
({
//position: new AMap.LngLat(theGps[0],theGps[1]), // 使用原始经纬度
position
:
new
AMap
.
LngLat
(
cvtGps
[
0
],
cvtGps
[
1
]),
// 使用转换为高德地图标记的经纬度
title
:
'
定位
'
});
map
.
setCenter
(
theGps
);
map
.
add
(
marker
);
}
});
});
map
.
setCenter
(
theGps
);
map
.
add
(
marker
);
}
}
</script>
</script>
{% endblock %}
{% endblock %}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment