Skip to content

Commit 0214ae9

Browse files
committed
support muilt points
1 parent adfedb9 commit 0214ae9

File tree

1 file changed

+36
-7
lines changed

1 file changed

+36
-7
lines changed

_posts/2018-02-08-picture-gps.md

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
title: 照片位置查看器
44
---
55
<style>
6+
67

78
h2{
89
font-size: 1rem;
@@ -52,21 +53,27 @@
5253
display: block;
5354
}
5455
}
56+
5557
</style>
5658

5759
<h2>把图片拖进来</h2>
5860
<div class="picker"><input type="file" id="filePicker"></div>
59-
<div id="makeAndModel" style="height: 30px;"></div>
61+
<div id="makeAndModel" style="height: 30px; "></div>
6062
<div class="map_shift" id="mapShift">
63+
6164
<button data-type="baidu">百度地图</button>
6265
<button data-type="google">谷歌地图</button>
66+
6367
</div>
6468
<div class="container" id="baiduMapCtn"></div>
6569
<div class="container" id="googleMapCtn"></div>
6670
<div class="detail" id="picDetail"></div>
6771
<script type="text/javascript" src="//api.map.baidu.com/api?v=3.0&ak=XwGhtOZnTOQk7lFssFiI1GR3"></script>
6872
<script src="/resource/2018/exif.js"></script>
73+
<script src="/resource/2019/map_convertor.js"></script>
74+
6975
<script>
76+
7077
var pageControl = {
7178
init: function(){
7279
this.baiduMapCtn = document.getElementById("baiduMapCtn");
@@ -134,6 +141,15 @@
134141
this.map = map;
135142
},
136143
setPosition: function(x,y){
144+
var bdGps = GPS.GPSToBaidu(y, x);
145+
var bdPoint = new BMap.Point(bdGps.lng, bdGps.lat);
146+
var bdMarker = new BMap.Marker(bdPoint); // 创建点
147+
this.map.addOverlay(bdMarker);
148+
149+
return bdPoint;
150+
return;
151+
152+
137153
var ggPoint = new BMap.Point(x,y);
138154
var convertor = new BMap.Convertor();
139155
var pointArr = [];
@@ -147,6 +163,7 @@
147163
},
148164
googleMap: {
149165
init: function(ctn){
166+
return;
150167
var point = new google.maps.LatLng(42.882688, -90.579412);
151168
//初始化
152169
var mapOptions = {
@@ -175,7 +192,8 @@
175192
getFiles: function (fileList){
176193
var _this = this;
177194
var imgCtn = document.getElementById('imgCtn');
178-
for(var i = 0; i < fileList.length; i++){
195+
const zoomPoints = [];
196+
for(let i = 0; i < fileList.length; i++){
179197
var file = fileList[i];
180198
if(file.type.indexOf('image') === -1){
181199
console.log('此文件不是图片:', file.name);
@@ -191,8 +209,15 @@
191209
var lat = EXIF.getTag(this, "GPSLatitude");
192210
var GPSLongitudeRef = EXIF.getTag(this, "GPSLongitudeRef");
193211
var GPSLatitudeRef = EXIF.getTag(this, "GPSLatitudeRef");
194-
makeAndModel.innerHTML = `${lon} ${GPSLongitudeRef} ${lat} ${GPSLatitudeRef}`;
195-
_this.renderPoint(lon, lat, GPSLongitudeRef, GPSLatitudeRef);
212+
makeAndModel.innerHTML = `${lon} ${GPSLongitudeRef} ${lat} ${GPSLatitudeRef}` ;
213+
const {x, y} = _this.renderPoint(lon, lat, GPSLongitudeRef, GPSLatitudeRef);
214+
console.log(x,y)
215+
const bdPoints = _this.currentMap.setPosition(x, y);
216+
console.log(i)
217+
zoomPoints.push(bdPoints);
218+
if(zoomPoints.length === 1){
219+
_this.currentMap.map.centerAndZoom(bdPoints, 15);
220+
}
196221
_this.renderPictureDetail(this);
197222
});
198223
}
@@ -208,8 +233,10 @@
208233
renderPoint: function (lon, lat, GPSLongitudeRef, GPSLatitudeRef){
209234
var x = this.ConvertDMSToDD(+lon[0], +lon[1], +lon[2], GPSLongitudeRef);
210235
var y = this.ConvertDMSToDD(+lat[0], +lat[1], +lat[2], GPSLatitudeRef);
211-
console.log(x,y)
212-
this.currentMap.setPosition(x, y);
236+
return {
237+
x,
238+
y
239+
};
213240
},
214241
renderPictureDetail: function (obj){
215242
this.picDetail.innerHTML = '';
@@ -233,5 +260,7 @@
233260
function initializegooglemap(){
234261
pageControl.init();
235262
}
263+
pageControl.init();
264+
236265
</script>
237-
<script src="//ditu.google.cn/maps/api/js?v=3&amp;sensor=false&amp;language=en&amp;callback=initializegooglemap"></script>
266+
<script src="//ditu.google.cn/maps/api/js?v=3&amp; sensor=false&amp; language=en&amp; callback=initializegooglemap"></script>

0 commit comments

Comments
 (0)