|
3 | 3 | title: 照片位置查看器
|
4 | 4 | ---
|
5 | 5 | <style>
|
| 6 | + |
6 | 7 |
|
7 | 8 | h2{
|
8 | 9 | font-size: 1rem;
|
|
52 | 53 | display: block;
|
53 | 54 | }
|
54 | 55 | }
|
| 56 | + |
55 | 57 | </style>
|
56 | 58 |
|
57 | 59 | <h2>把图片拖进来</h2>
|
58 | 60 | <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> |
60 | 62 | <div class="map_shift" id="mapShift">
|
| 63 | + |
61 | 64 | <button data-type="baidu">百度地图</button>
|
62 | 65 | <button data-type="google">谷歌地图</button>
|
| 66 | + |
63 | 67 | </div>
|
64 | 68 | <div class="container" id="baiduMapCtn"></div>
|
65 | 69 | <div class="container" id="googleMapCtn"></div>
|
66 | 70 | <div class="detail" id="picDetail"></div>
|
67 | 71 | <script type="text/javascript" src="//api.map.baidu.com/api?v=3.0&ak=XwGhtOZnTOQk7lFssFiI1GR3"></script>
|
68 | 72 | <script src="/resource/2018/exif.js"></script>
|
| 73 | +<script src="/resource/2019/map_convertor.js"></script> |
| 74 | + |
69 | 75 | <script>
|
| 76 | + |
70 | 77 | var pageControl = {
|
71 | 78 | init: function(){
|
72 | 79 | this.baiduMapCtn = document.getElementById("baiduMapCtn");
|
|
134 | 141 | this.map = map;
|
135 | 142 | },
|
136 | 143 | 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 | + |
137 | 153 | var ggPoint = new BMap.Point(x,y);
|
138 | 154 | var convertor = new BMap.Convertor();
|
139 | 155 | var pointArr = [];
|
|
147 | 163 | },
|
148 | 164 | googleMap: {
|
149 | 165 | init: function(ctn){
|
| 166 | + return; |
150 | 167 | var point = new google.maps.LatLng(42.882688, -90.579412);
|
151 | 168 | //初始化
|
152 | 169 | var mapOptions = {
|
|
175 | 192 | getFiles: function (fileList){
|
176 | 193 | var _this = this;
|
177 | 194 | 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++){ |
179 | 197 | var file = fileList[i];
|
180 | 198 | if(file.type.indexOf('image') === -1){
|
181 | 199 | console.log('此文件不是图片:', file.name);
|
|
191 | 209 | var lat = EXIF.getTag(this, "GPSLatitude");
|
192 | 210 | var GPSLongitudeRef = EXIF.getTag(this, "GPSLongitudeRef");
|
193 | 211 | 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 | + } |
196 | 221 | _this.renderPictureDetail(this);
|
197 | 222 | });
|
198 | 223 | }
|
|
208 | 233 | renderPoint: function (lon, lat, GPSLongitudeRef, GPSLatitudeRef){
|
209 | 234 | var x = this.ConvertDMSToDD(+lon[0], +lon[1], +lon[2], GPSLongitudeRef);
|
210 | 235 | 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 | + }; |
213 | 240 | },
|
214 | 241 | renderPictureDetail: function (obj){
|
215 | 242 | this.picDetail.innerHTML = '';
|
|
233 | 260 | function initializegooglemap(){
|
234 | 261 | pageControl.init();
|
235 | 262 | }
|
| 263 | + pageControl.init(); |
| 264 | + |
236 | 265 | </script>
|
237 |
| -<script src="//ditu.google.cn/maps/api/js?v=3&sensor=false&language=en&callback=initializegooglemap"></script> |
| 266 | +<script src="//ditu.google.cn/maps/api/js?v=3& sensor=false& language=en& callback=initializegooglemap"></script> |
0 commit comments