Skip to content

Commit 3fed4e7

Browse files
committed
zoom to current location by default and upgrade version to 0.4.4
1 parent 8cd34d1 commit 3fed4e7

File tree

4 files changed

+58
-60
lines changed

4 files changed

+58
-60
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "webglobe",
3-
"version": "0.4.3",
3+
"version": "0.4.4",
44
"description": "A WebGL virtual globe and map engine.",
55
"main": "require.js",
66
"scripts": {

src/world/Globe.ts

Lines changed: 53 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import Kernel = require("./Kernel");
22
import Utils = require("./Utils");
3-
import LocationService,{LocationData} from "./LocationService";
3+
import LocationService, { LocationData } from "./LocationService";
44
import Renderer = require("./Renderer");
55
import Camera, { CameraCore } from "./Camera";
66
import Scene = require("./Scene");
77
import ImageUtils = require("./Image");
88
import EventHandler = require("./EventHandler");
99
import TiledLayer = require("./layers/TiledLayer");
10-
import {GoogleTiledLayer, GoogleLabelLayer} from "./layers/Google";
11-
import {AutonaviTiledLayer, AutonaviLabelLayer} from "./layers/Autonavi";
10+
import { GoogleTiledLayer, GoogleLabelLayer } from "./layers/Google";
11+
import { AutonaviTiledLayer, AutonaviLabelLayer } from "./layers/Autonavi";
1212
import LabelLayer from "./layers/LabelLayer";
1313
import TrafficLayer from "./layers/TrafficLayer";
14-
import {QihuTrafficLayer} from "./layers/Qihu";
14+
import { QihuTrafficLayer } from "./layers/Qihu";
1515
import Atmosphere = require("./graphics/Atmosphere");
1616
import PoiLayer = require("./layers/PoiLayer");
1717

@@ -32,12 +32,12 @@ class Globe {
3232
private lastRefreshTimestamp: number = -1;
3333
private lastRefreshCameraCore: CameraCore = null;
3434
private eventHandler: EventHandler = null;
35-
private allRefreshCount:number = 0;
36-
private realRefreshCount:number = 0;
37-
private beforeRenderCallbacks:RenderCallback[] = [];
38-
private afterRenderCallbacks:RenderCallback[] = [];
35+
private allRefreshCount: number = 0;
36+
private realRefreshCount: number = 0;
37+
private beforeRenderCallbacks: RenderCallback[] = [];
38+
private afterRenderCallbacks: RenderCallback[] = [];
3939

40-
constructor(private canvas: HTMLCanvasElement, level:number = initLevel, lonlat: number[] = [116.3975, 39.9085]) {
40+
constructor(private canvas: HTMLCanvasElement, level: number = initLevel, lonlat: number[] = [116.3975, 39.9085]) {
4141
Kernel.globe = this;
4242
Kernel.canvas = canvas;
4343
this.renderer = new Renderer(canvas, this._onBeforeRender.bind(this), this._onAfterRender.bind(this));
@@ -75,39 +75,36 @@ class Globe {
7575
// });
7676
// }
7777

78-
// if(Utils.isMobile()){
79-
// Utils.subscribe('location', (data:LocationData) => {
80-
// console.log(data);
81-
// this.afterRenderCallbacks.push(() => {
82-
// this.showLocation(data);
83-
// });
84-
// });
85-
// LocationService.getRobustLocation();
86-
// LocationService.getLocation();
87-
// LocationService.watchPosition();
88-
// }
78+
Utils.subscribe('location', (data: LocationData) => {
79+
console.info(data);
80+
this.afterRenderCallbacks.push(() => {
81+
this.showLocation(data);
82+
});
83+
});
84+
LocationService.getRobustLocation();
85+
LocationService.getLocation();
86+
// LocationService.watchPosition();
8987
}
9088

91-
showLocation(locationData: LocationData){
89+
showLocation(locationData: LocationData) {
9290
var lon = locationData.lng;
9391
var lat = locationData.lat;
94-
this.poiLayer.clear();
95-
this.poiLayer.addPoi(lon, lat, "", "", "", "");
92+
// this.poiLayer.clear();
93+
// this.poiLayer.addPoi(lon, lat, "", "", "", "");
9694
this.eventHandler.moveLonLatToCanvas(lon, lat, this.canvas.width / 2, this.canvas.height / 2);
9795
var accuracy = locationData.accuracy;
98-
var level:number = 8;
99-
if(accuracy <= 100){
96+
var level: number = 8;
97+
if (accuracy <= 100) {
10098
level = 16;
101-
}else if(accuracy <= 1000){
99+
} else if (accuracy <= 1000) {
102100
level = 13;
103-
}else{
101+
} else {
104102
level = 11;
105103
}
106104
this.setLevel(level);
107105
}
108106

109107
setTiledLayer(tiledLayer: TiledLayer) {
110-
// clearTimeout(this.idTimeOut);
111108
//在更换切片图层的类型时清空缓存的图片
112109
ImageUtils.clear();
113110
if (this.tiledLayer) {
@@ -122,35 +119,35 @@ class Globe {
122119
this.refresh(true);
123120
}
124121

125-
showLabelLayer(){
126-
if(this.labelLayer){
122+
showLabelLayer() {
123+
if (this.labelLayer) {
127124
this.labelLayer.visible = true;
128125
}
129126
}
130127

131-
hideLabelLayer(){
132-
if(this.labelLayer){
128+
hideLabelLayer() {
129+
if (this.labelLayer) {
133130
this.labelLayer.visible = false;
134131
}
135132
}
136133

137-
showTrafficLayer(){
138-
if(this.trafficLayer){
134+
showTrafficLayer() {
135+
if (this.trafficLayer) {
139136
this.trafficLayer.visible = true;
140137
}
141138
}
142139

143-
hideTrafficLayer(){
144-
if(this.trafficLayer){
140+
hideTrafficLayer() {
141+
if (this.trafficLayer) {
145142
this.trafficLayer.visible = false;
146143
}
147144
}
148145

149-
getLevel(){
146+
getLevel() {
150147
return this.camera.getLevel();
151148
}
152149

153-
zoomIn(){
150+
zoomIn() {
154151
this.setLevel(this.getLevel() + 1);
155152
}
156153

@@ -164,35 +161,34 @@ class Globe {
164161
return this.camera.isAnimating();
165162
}
166163

167-
animateToLevel(level: number, cb?: ()=>void) {
164+
animateToLevel(level: number, cb?: () => void) {
168165
if (!this.isAnimating()) {
169-
if(level < Kernel.MIN_LEVEL){
166+
if (level < Kernel.MIN_LEVEL) {
170167
level = Kernel.MIN_LEVEL;
171168
}
172-
if(level > Kernel.MAX_LEVEL){
169+
if (level > Kernel.MAX_LEVEL) {
173170
level = Kernel.MAX_LEVEL;
174171
}
175-
// level = level > Kernel.MAX_LEVEL ? Kernel.MAX_LEVEL : level;
176172
if (level !== this.getLevel()) {
177173
this.camera.animateToLevel(level, cb);
178174
}
179175
}
180176
}
181177

182-
animateOut(cb?: ()=>void){
178+
animateOut(cb?: () => void) {
183179
this.animateToLevel(this.getLevel() - 1, cb);
184180
}
185181

186-
animateIn(cb?: ()=>void){
182+
animateIn(cb?: () => void) {
187183
this.animateToLevel(this.getLevel() + 1, cb);
188184
}
189185

190-
private _onBeforeRender(renderer: Renderer){
186+
private _onBeforeRender(renderer: Renderer) {
191187
// this.beforeRenderCallbacks.forEach((callback) => callback());
192188
this.refresh();
193189
}
194190

195-
private _onAfterRender(render: Renderer){
191+
private _onAfterRender(render: Renderer) {
196192
this.afterRenderCallbacks.forEach((callback) => callback());
197193
this.afterRenderCallbacks = [];
198194
}
@@ -209,7 +205,7 @@ class Globe {
209205
// }, this.REFRESH_INTERVAL);
210206
// }
211207

212-
logRefreshInfo(){
208+
logRefreshInfo() {
213209
console.log(this.realRefreshCount, this.allRefreshCount, this.realRefreshCount / this.allRefreshCount);
214210
}
215211

@@ -224,19 +220,19 @@ class Globe {
224220
return;
225221
}
226222

227-
if(this.debugStopRefreshTiles){
223+
if (this.debugStopRefreshTiles) {
228224
return;
229225
}
230-
226+
231227
var newCameraCore = this.camera.getCameraCore();
232228
// var isNeedRefresh = force || !newCameraCore.equals(this.cameraCore);
233229
var isNeedRefresh = false;
234-
if(force){
230+
if (force) {
235231
isNeedRefresh = true;
236-
}else{
237-
if(newCameraCore.equals(this.lastRefreshCameraCore)){
232+
} else {
233+
if (newCameraCore.equals(this.lastRefreshCameraCore)) {
238234
isNeedRefresh = false;
239-
}else{
235+
} else {
240236
isNeedRefresh = timestamp - this.lastRefreshTimestamp >= this.REFRESH_INTERVAL;
241237
}
242238
}
@@ -254,18 +250,18 @@ class Globe {
254250

255251
var a = !!(this.labelLayer && this.labelLayer.visible);
256252
var b = !!(this.trafficLayer && this.trafficLayer.visible);
257-
if(a || b){
253+
if (a || b) {
258254
var lastLevelTileGrids = this.tiledLayer.getLastLevelVisibleTileGrids();
259-
if(a){
255+
if (a) {
260256
this.labelLayer.updateTiles(this.getLevel(), lastLevelTileGrids);
261257
}
262-
if(b){
258+
if (b) {
263259
this.trafficLayer.updateTiles(this.getLevel(), lastLevelTileGrids);
264260
}
265261
}
266262
}
267263

268-
getExtents(level?: number){
264+
getExtents(level?: number) {
269265
return this.tiledLayer.getExtents(level);
270266
}
271267

src/world/Kernel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class Kernel{
1414
static canvas:HTMLCanvasElement = null;
1515
static globe:Globe = null;
1616
static idCounter:number = 0; //Object3D对象的唯一标识
17-
static readonly version:string = "0.4.3";
17+
static readonly version:string = "0.4.4";
1818
static readonly SCALE_FACTOR:number = SCALE_FACTOR;
1919
static readonly EARTH_RADIUS:number = EARTH_RADIUS;
2020
static readonly MAX_RESOLUTION:number = MAX_RESOLUTION;

versions.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,4 +149,6 @@
149149

150150
0.4.2 重命名Camera中的相关方法
151151

152-
0.4.3 向Camera添加isEarthFullOverlapScreen()等方法
152+
0.4.3 向Camera添加isEarthFullOverlapScreen()等方法
153+
154+
0.4.4 默认显示当前位置

0 commit comments

Comments
 (0)