Assignment of Week 2
2주차의 과제는 굉장히 쉬웠고 코드를 제출하지 않고 퀴즈를 풀어 초심자에게 굉장히 좋다.
해야할 것들과 안내사항들을 보여준다.
이후 순서대로 셋팅하는 방법에 대해 알려준다.
그럼 기본적으로 위와 같은 맵이 실행되는 것을 볼 수 있고
몇가지 힌트를 주는데 그 중 구글맵에서 자신의 위치에 대한 위도/경도를 찾는 방법도 알려준다.
코드 자체는 굉장히 쉬우나 주석이 많아 수정이 완료된 코드를 첨부한다.
HelloWorld.java 파일이며 클래스명 또한 HelloWorld이다. 그 뒤 여러 변수들이 선언되었고 이후 setup과 draw라는 메쏘드가 존재한다.
map1에 대해서만 설정이 되있는 것을 map2도 추가함으로 완성하였다.
애플릿을 실행하면 위와 같이 나타나게 된다.
이후 과제를 완료하고 그에 대한 퀴즈를 풀게 된다.
1번 문제는 map1의 정보를 통해 좌측하단모서리의 y측 pixel값을 구하는 것이며 UnfoldingMap은 2번째부터 x, y, width, height에 관한 정보이므로 좌측하단은 50 + 500이므로 550이 된다.
2번은 같은 높이를 가지고 옆에 맞닿아 있는 맵을 고르는 것인데 map1의 x값과 width값을 더했을 때 map2의 x값과 같으면 된다.
3번은 두개의 맵을 온전히 구성했는데 실행 시 한개의 맵만 보일 경우 예상되는 상황으로 적절한 것을 고르는데 map2.draw를 생략했거나 map2를 윈도우 밖에 위치시켰을 때가 맞겠다.
4번은 RioJaneiro, Brazil의 경도와 위도를 찾는 것이라 구글맵에서 확인하면 된다.
이후는 설문조사이다.
2주차의 과제는 굉장히 쉬웠고 코드를 제출하지 않고 퀴즈를 풀어 초심자에게 굉장히 좋다.
해야할 것들과 안내사항들을 보여준다.
이후 순서대로 셋팅하는 방법에 대해 알려준다.
그럼 기본적으로 위와 같은 맵이 실행되는 것을 볼 수 있고
몇가지 힌트를 주는데 그 중 구글맵에서 자신의 위치에 대한 위도/경도를 찾는 방법도 알려준다.
코드 자체는 굉장히 쉬우나 주석이 많아 수정이 완료된 코드를 첨부한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
package module1;
import processing.core.PApplet;
import de.fhpotsdam.unfolding.UnfoldingMap;
import de.fhpotsdam.unfolding.geo.Location;
import de.fhpotsdam.unfolding.providers.AbstractMapProvider;
import de.fhpotsdam.unfolding.providers.Google;
import de.fhpotsdam.unfolding.providers.MBTilesMapProvider;
import de.fhpotsdam.unfolding.utils.MapUtils;
/** HelloWorld
* An application with two maps side-by-side zoomed in on different locations.
* Author: UC San Diego Coursera Intermediate Programming team
* @author Your name here
* Date: July 17, 2015
* */
public class HelloWorld extends PApplet
{
/** Your goal: add code to display second map, zoom in, and customize the background.
* Feel free to copy and use this code, adding to it, modifying it, etc.
* Don't forget the import lines above. */
// You can ignore this. It's to keep eclipse from reporting a warning
private static final long serialVersionUID = 1L;
/** This is where to find the local tiles, for working without an Internet connection */
public static String mbTilesString = "blankLight-1-3.mbtiles";
// IF YOU ARE WORKING OFFLINE: Change the value of this variable to true
private static final boolean offline = false;
/** The map we use to display our home town: La Jolla, CA */
UnfoldingMap map1;
/** The map you will use to display your home town */
UnfoldingMap map2;
public void setup() {
size(800, 600, P2D); // Set up the Applet window to be 800x600
// The OPENGL argument indicates to use the
// Processing library's 2D drawing
// You'll learn more about processing in Module 3
// This sets the background color for the Applet.
// Play around with these numbers and see what happens!
this.background(200, 200, 200);
// Select a map provider
AbstractMapProvider provider = new Google.GoogleTerrainProvider();
// Set a zoom level
int zoomLevel = 10;
if (offline) {
// If you are working offline, you need to use this provider
// to work with the maps that are local on your computer.
provider = new MBTilesMapProvider(mbTilesString);
// 3 is the maximum zoom level for working offline
zoomLevel = 3;
}
// Create a new UnfoldingMap to be displayed in this window.
// The 2nd-5th arguments give the map's x, y, width and height
// When you create your map we want you to play around with these
// arguments to get your second map in the right place.
// The 6th argument specifies the map provider.
// There are several providers built-in.
// Note if you are working offline you must use the MBTilesMapProvider
map1 = new UnfoldingMap(this, 50, 50, 350, 500, provider);
//Create second map
map2 = new UnfoldingMap(this, 400, 50, 350, 500, provider);
// The next line zooms in and centers the map at
// 32.9 (latitude) and -117.2 (longitude)
map1.zoomAndPanTo(zoomLevel, new Location(32.9f, -117.2f));
//Modulate zoom state of map2
map2.zoomAndPanTo(zoomLevel, new Location(37.4f, 127.1f));
// This line makes the map interactive
MapUtils.createDefaultEventDispatcher(this, map1);
//Make the second map interactive
MapUtils.createDefaultEventDispatcher(this, map2);
// TODO: Add code here that creates map2
// Then you'll modify draw() below
}
/** Draw the Applet window. */
public void draw() {
// So far we only draw map1...
// TODO: Add code so that both maps are displayed
map1.draw();
map2.draw();
}
}
| cs |
HelloWorld.java 파일이며 클래스명 또한 HelloWorld이다. 그 뒤 여러 변수들이 선언되었고 이후 setup과 draw라는 메쏘드가 존재한다.
map1에 대해서만 설정이 되있는 것을 map2도 추가함으로 완성하였다.
애플릿을 실행하면 위와 같이 나타나게 된다.
이후 과제를 완료하고 그에 대한 퀴즈를 풀게 된다.
1번 문제는 map1의 정보를 통해 좌측하단모서리의 y측 pixel값을 구하는 것이며 UnfoldingMap은 2번째부터 x, y, width, height에 관한 정보이므로 좌측하단은 50 + 500이므로 550이 된다.
2번은 같은 높이를 가지고 옆에 맞닿아 있는 맵을 고르는 것인데 map1의 x값과 width값을 더했을 때 map2의 x값과 같으면 된다.
3번은 두개의 맵을 온전히 구성했는데 실행 시 한개의 맵만 보일 경우 예상되는 상황으로 적절한 것을 고르는데 map2.draw를 생략했거나 map2를 윈도우 밖에 위치시켰을 때가 맞겠다.
4번은 RioJaneiro, Brazil의 경도와 위도를 찾는 것이라 구글맵에서 확인하면 된다.
이후는 설문조사이다.
댓글
댓글 쓰기