Skip to content

Commit

Permalink
Merge pull request #25 from iSpring/develop
Browse files Browse the repository at this point in the history
merge develop version 0.3.3 to master
  • Loading branch information
iSpring committed Dec 7, 2016
2 parents 2ad9f5e + 32ada13 commit bab02f8
Show file tree
Hide file tree
Showing 75 changed files with 3,400 additions and 2,666 deletions.
3 changes: 3 additions & 0 deletions .vscode/settings.json
@@ -0,0 +1,3 @@
{
"typescript.check.workspaceVersion": false
}
29 changes: 15 additions & 14 deletions README.md
Expand Up @@ -4,9 +4,9 @@
</a>
<p align="center">A WebGL virtual globe and map engine</p>
</p>





## WebGlobe
WebGlobe是基于HTML5原生WebGL实现的轻量级Google Earth三维地图引擎,支持诺基亚地图、微软Bing地图、腾讯地图、天地图、OpenStreetMap等。

Expand All @@ -17,20 +17,21 @@ Demo: https://ispring.github.io/WebGlobe/index.html
**如果觉得不错,欢迎Star和Fork!**

## Setup dev environment
1. 项目有两个主要的分支:develop分支和master分支,develop是主分支,开发的代码都提交到该分支;master分支用于release,当develop分支中的代码比较稳定切有重要更新的时候,会将develop分支的代码merge到master分支,然后通过master分支进行发布新版本。
1. 项目有两个主要的分支:develop分支和master分支,develop是主分支,开发的代码都提交到该分支;master分支用于release,当develop分支中的代码比较稳定且有重要更新的时候,会将develop分支的代码merge到master分支,然后通过master分支进行发布新版本。

2. 项目采用TypeScript编写,编译成JavaScript运行,推荐使用[Visual Studio Code](http://code.visualstudio.com/)作为编辑器。
3. 通过npm install -g typescript gulp-cli安装全局模块typescript和gulp

3. 通过npm install -g typescript安装全局模块typescript

4. 在项目的根目录下执行npm install,安装所需模块。

5. 通过gulp进行编译打包,gulpfile中定义了多个task:
- clear用于清除编译打包的结果
- compile用于将TypeScript版本的模块编译成JavaScript版本的AMD模块
- bundle用于将TypeScript版本的模块打包成一个JavaScript压缩文件
- build用于执行以上所有的task


5. 使用gulp进行编译打包,gulpfile中定义了多个task,并在package.json中定义了对应的npm scripts:
- npm run clear 用于清除编译打包的结果
- npm run compile 用于将TypeScript版本的模块编译成JavaScript版本的AMD模块
- npm run bundle 用于将TypeScript版本的模块打包成一个JavaScript压缩文件
- npm run build 用于执行以上所有的task
- npm start 用于执行build

6. 通过index-src.html可以加载AMD格式的源码,方便调试;通过index-bundle.html可以加载打打包压缩后的JavaScript文件,减少了文件体积和网络请求数量,用于生产环境。


Expand Down
11 changes: 0 additions & 11 deletions deprecated/WEB-INF/web.xml

This file was deleted.

42 changes: 0 additions & 42 deletions deprecated/proxy.jsp

This file was deleted.

9 changes: 4 additions & 5 deletions index-bundle.html
Expand Up @@ -12,15 +12,14 @@
</head>

<body onselectstart="return false;">
<select id="mapSelector">
<option value="osm">OpenStreetMap</option>
<option value="soso">腾讯地图</option>
<select id="mapSelector">
<option value="osm">OpenStreetMap</option>
<option value="soso">腾讯地图</option>
<option value="bing">Bing Map</option>
<option value="tianditu">天地图</option>
<option value="nokia">Nokia Map</option>
</select>
<canvas id="canvasId" width="1000" height="1000"></canvas>
<a id="blog" target="_blank" href="http://blog.csdn.net/iispring">
<a id="blog" target="_blank" href="http://github.com/iSpring">
<img src="images/iSpring.png" />
</a>
</body>
Expand Down
7 changes: 3 additions & 4 deletions index-src.html
Expand Up @@ -20,15 +20,14 @@
</head>

<body onselectstart="return false;">
<select id="mapSelector">
<select id="mapSelector">
<option value="osm">OpenStreetMap</option>
<option value="soso">腾讯地图</option>
<option value="soso">腾讯地图</option>
<option value="bing">Bing Map</option>
<option value="tianditu">天地图</option>
<option value="nokia">Nokia Map</option>
</select>
<canvas id="canvasId" width="1000" height="1000"></canvas>
<a id="blog" target="_blank" href="http://blog.csdn.net/iispring">
<a id="blog" target="_blank" href="http://github.com/iSpring">
<img src="images/iSpring.png" />
</a>
</body>
Expand Down
104 changes: 59 additions & 45 deletions main.js
@@ -1,47 +1,61 @@
window.onload = function() {
require(["world/Globe", "world/BingTiledLayer", "world/NokiaTiledLayer", "world/OsmTiledLayer", "world/SosoTiledLayer", "world/TiandituTiledLayer", "world/GoogleTiledLayer"],
function(Globe, BingTiledLayer, NokiaTiledLayer, OsmTiledLayer, SosoTiledLayer, TiandituTiledLayer, GoogleTiledLayer) {

function startWebGL() {
var canvas = document.getElementById("canvasId");
window.globe = new Globe(canvas);
var mapSelector = document.getElementById("mapSelector");
mapSelector.onchange = changeTiledLayer;
changeTiledLayer();
}

function changeTiledLayer() {
var mapSelector = document.getElementById("mapSelector");
mapSelector.blur();
var newTiledLayer = null;
var args = null;
var value = mapSelector.value;
switch (value) {
case "bing":
newTiledLayer = new BingTiledLayer();
break;
case "nokia":
newTiledLayer = new NokiaTiledLayer();
break;
case "osm":
newTiledLayer = new OsmTiledLayer();
break;
case "soso":
newTiledLayer = new SosoTiledLayer();
break;
case "tianditu":
newTiledLayer = new TiandituTiledLayer();
break;
default:
break;
}

if (newTiledLayer) {
window.globe.setTiledLayer(newTiledLayer);
}
}


startWebGL();
});
require(["world/Kernel", "world/Globe", "world/layers/BingTiledLayer", "world/layers/NokiaTiledLayer", "world/layers/OsmTiledLayer",
"world/layers/SosoTiledLayer", "world/layers/TiandituTiledLayer", "world/layers/GoogleTiledLayer", "world/graphics/Atmosphere",
"world/layers/PoiLayer"
],
function(Kernel, Globe, BingTiledLayer, NokiaTiledLayer, OsmTiledLayer, SosoTiledLayer, TiandituTiledLayer, GoogleTiledLayer,
Atmosphere, PoiLayer) {

window.Kernel = Kernel;

function startWebGL() {
var canvas = document.getElementById("canvasId");
window.globe = new Globe(canvas);

var mapSelector = document.getElementById("mapSelector");
mapSelector.onchange = changeTiledLayer;
changeTiledLayer();

var atmosphere = Atmosphere.getInstance();

window.globe.scene.add(atmosphere);

var poiLayer = new PoiLayer();
window.globe.scene.add(poiLayer);
}

function changeTiledLayer() {
var mapSelector = document.getElementById("mapSelector");
mapSelector.blur();
var newTiledLayer = null;
var args = null;
var value = mapSelector.value;
switch (value) {
case "bing":
newTiledLayer = new BingTiledLayer();
break;
case "nokia":
newTiledLayer = new NokiaTiledLayer();
break;
case "osm":
newTiledLayer = new OsmTiledLayer();
break;
case "soso":
newTiledLayer = new SosoTiledLayer();
break;
case "tianditu":
newTiledLayer = new TiandituTiledLayer();
break;
default:
break;
}

if (newTiledLayer) {
window.globe.setTiledLayer(newTiledLayer);
}
}


startWebGL();
});
};
8 changes: 6 additions & 2 deletions package.json
@@ -1,10 +1,14 @@
{
"name": "webglobe",
"version": "0.1.1",
"version": "0.3.3",
"description": "A WebGL virtual globe and map engine.",
"main": "require.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"clear": "gulp clear",
"compile": "gulp compile",
"bundle": "gulp bundle",
"build": "gulp build",
"start": "npm run build"
},
"repository": {
"type": "git",
Expand Down

0 comments on commit bab02f8

Please sign in to comment.