HTML5의 특성으로 geolocation을 활용할 수 있습니다.

따라서 GPS를 갖춘 모바일 디바이스가 아닌 기기에서도 브라우져에서 좌표정보를 활용하는 것이 가능한데, 아마도 IP에 담긴 정보를 기반으로 하기 때문에 완벽하다고는 할 수 없습니다.

하지만 어쨋든 위치 정보를 활용할 수 있으니 좋은 것 같습니다.


좌표를 얻는 방법까지는 쉽게 알 수 있었는데, 좌표 정보를 이용해.

페이스북 같은 곳에서 활용하는 것처럼, OO주변과 같이 사용하거나,

어느 지역인지 주소를 출력하기 위해.

이리저리 해봐도 잘 안되더군요. 다른 사람들 페이지에 구글맵에서 바로 띄우는 방법이 있었는데, 저는 맵에 표시할 필요 없이.. 그냥 주소를 활용하고 싶을 뿐이여서.

결국 많은 분들의 블로그를 보고 제가 원하는 방식으로 값을 얻을 수 있었습니다.


<!DOCTYPE html>

<html>

<head>


</head>

<body>


<p id="demo4">버튼을 누르면 좌표가 업데이트 됩니다.:</p>

<button onclick="getLocation4()">좌표 구하기!!</button>

//버튼을 사용해 좌표를 구하는 예제를 사용하였습니다. 따라서 버튼이 클릭되면 getLocation4() 라는 java script 메소드가 호출됩니다.


<p id="text1"></p>

<p id="text2"></p>

//두 문단은 좌표 출력과 주소 출력을 위해 준비했습니다.


<script type="text/javascript"        src="http://maps.googleapis.com/maps/api/js?sensor=true">

</script>

//구글맵 사용을 위해 API를 붙여넣습니다.


<script>

var x4 = document.getElementById("demo4");

//demo4라고 이름 붙여진 문단에 내용 추가나 변경 등을 수행하기 위해 변수에 담습니다.

//여기서부터 getLocation4() 메소드이며, 버튼 클릭시 실행되게 됩니다.

function getLocation4() {

if (navigator.geolocation) {

//브라우져가 geolocation을 지원하는지 확인한 후 

navigator.geolocation.watchPosition(showPosition4);

//지원할 경우에 watchPosition 메소드를 실행합니다. watchPosition은 변화되는 좌표를 계속적으로 업데이트 해줍니다.

getCurrentPosition은 단 한번 좌표를 알려줍니다.


} else {

x4.innerHTML = "이 브라우저는 위치추적이 지원되지 않습니다.";

//지원되지 않는 브라우져의 경우에는 사용자에게 알려주게 됩니다. 여기서 x4는 위에서 얻어온 demo4문단입니다.

}

}


function showPosition4(position) {

var forLatlng = document.getElementById("text1");

var forAddress = document.getElementById("text2");

//body의 두 문단을 하나는 좌표를 위해, 하나는 주소를 위해 사용하기 위해 변수로 얻습니다.

forLatlng.innerHTML = ": Latitude: " + position.coords.latitude+ "_$tag_Longitude: " + position.coords.longitude;

/*좌표를 출력합니다.

여기서는 position.coords.latitude와 position.coords.longitude이 사용되었습니다.

즉, 위도와 경도를 각 각 출력합니다.

*/


var geocoder = new google.maps.Geocoder();

//geocoder를 사용하기 위해 변수를 선언하고 구글 맵 api에서 객체를 얻어 옵니다.

var latlng = new google.maps.LatLng(position.coords.latitude,

position.coords.longitude);

//위도와 경도를 구글 맵스의 geocoder에서 사용할 형식으로 변환합니다.

geocoder.geocode({'latLng' : latlng}, function(results, status) 

{

if (status == google.maps.GeocoderStatus.OK) {

/*

좌표를 주소로 변환 시키는 geocoder를 실행합니다.

만약 성공적으로 변환이 되었다면, status라는 상태변수가 참이 되어 아래의 코드들이 실행됩니다.

*/

if (results[1]) {

forAddress.innerHTML = results[3].formatted_address;

//만약 반환된 결과값이 비어있지 않으면 innerHTML을 이용해 결과값을 출력합니다.

}

} else {

alert("Geocoder failed due to: " + status);

//만약 geocoder가 실패시 알림창을 출력합니다.

}

});


}

</script>


</body>

</html>


이상 geolocation을 활용해 좌표를 얻고, 얻어진 좌표로 주소를 얻는 geocoder 예제 였습니다.



'programming' 카테고리의 다른 글

좌표 정보를 주소로 변환하기.  (0) 2012.10.23
by 두잇투데이 2012.10.23 07:24

x-code를 사용해 코딩을 하면서 너무 작은 글씨 때문에 답답했었는데, 겨우 겨우 찾았네요. 검색을 잘 못해서, 직접 하나씩 시험해보면서 결국엔 찾아냈네요.

찾고 보면 별거 아니고 꽤나 직관적인 것 같은데....윈도우만 사용해 온 나에겐...


자 그럼 이제, 먼저.


설정 창으로 들어갑니다. 이 부분은 다른 응용프로그램에서도 비슷하게 적용되는 것 같아요.



이제 이곳에서 폰트를 바꿀 수 있습니다. 여러가지 기본적인 설정들도 있기때문에 그 중에 선택을 할 수도 있고, 혹은 자신만의 편한 설정을 만들수도 있겠네요..

글자 크기를 바꾸기 위해서는 

먼저 그림에서 1번에 보여지는 곳에서 변경할 텍스트 분류들을 선택합니다.

그리고 조기 2 라고 씌여진 작은 버튼을 클릭합니다.

그럼 이제 폰트들을 바꿀 수 있는 작은 창이 뜨면 폰트를 바꿀 수 있습니다.

저는 다른 건 상관없는데 폰트 사이즈만 좀 크게 했습니다 :)

다들 눈 찌푸리며 참고 쓰지 마시구, 지금 바로 변경해보세요 :)

'programming > xcode' 카테고리의 다른 글

폰트 바꾸기.  (0) 2012.09.16
Apple Mach-O Linker (ld) Error Group  (0) 2012.09.16
by 두잇투데이 2012.09.16 20:34

x-code에서 작업 중 새로운 프로젝트를 만들고 기존에 쓰던 어떤 파일들을 긁어 와서 쓰는 중에 Apple Mach-O Linker (ld) Error Group 이런 에러 메세지가 나왔습니다.

분명히 header 파일도 존재하고 구문상 에러가 없어 보이는데 link에러가 나니 처음인 저로썬 무슨 일인지 당장 검색해본 결과.

http://www.appilogue.kr/2844323

이 글을 보고 쉽게 해결 했습니다.

target membership 이라는 것을 체크 해줘야 한다고 하더군요.

그래서 당장 따라서 Target Membership 체크를 해주니 잘 실행 되었습니다.


저는 Target Membership체크 박스가 안보여서 한참 동안이나 찾았는데,

저렇게 파일명을 선택하면 오른쪽 메뉴에 자동으로 뜨더군요.

파일을 선택하고 오른쪽에 Target Membership을 선택해주면 말끔하게 해결됩니다.


'programming > xcode' 카테고리의 다른 글

폰트 바꾸기.  (0) 2012.09.16
Apple Mach-O Linker (ld) Error Group  (0) 2012.09.16
by 두잇투데이 2012.09.16 18:28

서블릿과 비슷한 자바 컴포넌트.

필터를 사용하여 서블릿으로 요청이 넘어가기 전 요청을 가로채어 어떤 처리를 할 수 있으며, 또한 서블릿 작업 완료 후 클라이언트에게 넘어가기 전 어떤 작업을 할 수도 있다.




서블릿 전에 수행될 문장.

chain.doFilter(request, response);

응답 전 수행될 문장.


package filter;


import java.io.IOException;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import javax.servlet.annotation.WebFilter;


@WebFilter("/*")

public class TestFilter implements Filter {

    public TestFilter() {

    System.out.println("TestFilter 객체 생성");

    }

public void destroy() {

// TODO Auto-generated method stub

System.out.println("TestFilter의 destroy()호출");

}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

System.out.println("서블릿 수행 전");

chain.doFilter(request, response);

System.out.println("서블릿 수행 후");

}

public void init(FilterConfig fConfig) throws ServletException {

System.out.println("TestFilter의 init() 호출");

}

}


@WebFilter("/*")

@WebFilter("/URI")

uri를 통해 지정페이지에 대해 필터링을 하거나.

서버의 모든 페이지에 대해 필터링이 가능하다.



'programming > Servlet' 카테고리의 다른 글

Filter  (0) 2012.08.30
EL의 사용  (0) 2012.08.29
meta 문자를 이용한 setProeprty  (0) 2012.08.29
useBean 실습 예제.  (0) 2012.08.29
setProperty & getProperty  (0) 2012.08.28
useBean  (0) 2012.08.28
by 두잇투데이 2012.08.30 14:44
EL(Expression Language)
각 각의 Scope에 보관된 객체들을 쉽게 사용할 수 있게 도와준다.


${ requestScope.member.name } - request에 저장된 객체를 사용

${ sessionScope.member.name } - session에 저장된 객체를 사용

${ param.name } - 매개 변수를 사용하는 구문.


requestScope.member.name

    이름   .  프로퍼티

[map 객체] . [이름]

[not map객체 ].[프로퍼티]


'programming > Servlet' 카테고리의 다른 글

Filter  (0) 2012.08.30
EL의 사용  (0) 2012.08.29
meta 문자를 이용한 setProeprty  (0) 2012.08.29
useBean 실습 예제.  (0) 2012.08.29
setProperty & getProperty  (0) 2012.08.28
useBean  (0) 2012.08.28
by 두잇투데이 2012.08.29 16:00

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<jsp:useBean id="hello" class="beantest.HelloBean"/>

<jsp:setProperty name="hello" property="*"/>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<body><h1>Hello <jsp:getProperty name="hello" property="name"/>!

방문일자는 <jsp:getProperty name="hello" property="month"/>월

<jsp:getProperty name="hello" property="date"/>일 입니다.</h1>

</body>

</html>

<jsp:setProperty name="hello" property="name" param="name"/>

이름이 같을 경우 param은 생략이 가능하다.

->    <jsp:setProperty name="hello" property="name"/>



<jsp:setProperty name="hello" property="*"/>

이 경우 퀴리문자열의 각 각의 이름과 매핑되어 저장된다.

'programming > Servlet' 카테고리의 다른 글

Filter  (0) 2012.08.30
EL의 사용  (0) 2012.08.29
meta 문자를 이용한 setProeprty  (0) 2012.08.29
useBean 실습 예제.  (0) 2012.08.29
setProperty & getProperty  (0) 2012.08.28
useBean  (0) 2012.08.28
by 두잇투데이 2012.08.29 14:07

useBean 실습 예제.


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

  <%@ page import="java.io.*" %>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<body>

<jsp:useBean id="member" class="mvc.MemberVO" scope="request"/>

<h1>Member 객체에 저장된 회원 정보</h1>

저장된 회원 정보는 다음과 같습니다.

<hr>

<table>

<tr><td>이름: </td>

<td><jsp:getProperty name="member" property="name"/></td>

<tr><td>전화번호: </td>

<td><jsp:getProperty name="member" property="phoneNumber"/></td>

<tr><td>계정: </td>

<td><jsp:getProperty name="member" property="id"/></td>

<tr><td>패스워드: </td>

<td><jsp:getProperty name="member" property="password"/></td>

</table>

</body>

</html>



----------------------------------------------------------------------------------------------------

<jsp:useBean id="member" class="mvc.MemberVO" scope="request"/>

useBean을 사용한다는 것을 명시. 

'programming > Servlet' 카테고리의 다른 글

EL의 사용  (0) 2012.08.29
meta 문자를 이용한 setProeprty  (0) 2012.08.29
useBean 실습 예제.  (0) 2012.08.29
setProperty & getProperty  (0) 2012.08.28
useBean  (0) 2012.08.28
ServletContext  (0) 2012.08.28
by 두잇투데이 2012.08.29 09:26

name = " "

property = " "

value = " " or param= " "



param과 value

param : setProperty를 사용하여 설정할 때에 매개변수로 전달된 값을 사용하고자 할때.

<jsp:setProperty name="obj1" property="name" param="unico"/>

value

<jsp:setProperty name="obj2" property="name" value="unico"/>


'programming > Servlet' 카테고리의 다른 글

meta 문자를 이용한 setProeprty  (0) 2012.08.29
useBean 실습 예제.  (0) 2012.08.29
setProperty & getProperty  (0) 2012.08.28
useBean  (0) 2012.08.28
ServletContext  (0) 2012.08.28
Dispatcher 와 Redirect  (0) 2012.08.28
by 두잇투데이 2012.08.28 15:57

useBean action tag의 세가지 속성

- id = " " 

id 속성의 두가지 역할 

1. 변수(식별자 규칙을 지킬 것.)

2. 이름

- class = "패키지명.클래스명"

사용가능한 상태로 만들고자 하는 패키지명.클래스명

*default 패키지는 허용하지 않음.

- scope = " "

page, request, session, application 네 가지의 값이 가능하다.

*default 는 page

무조건 등록하지 않고 먼저 정해진 스코프에서 java bean 변수를 찾아보고 없으면 등록한다.


useBean은 무조건 등록하지 않고 생성되어 있다면 가져다 쓰는 역할을 한다.



'programming > Servlet' 카테고리의 다른 글

meta 문자를 이용한 setProeprty  (0) 2012.08.29
useBean 실습 예제.  (0) 2012.08.29
setProperty & getProperty  (0) 2012.08.28
useBean  (0) 2012.08.28
ServletContext  (0) 2012.08.28
Dispatcher 와 Redirect  (0) 2012.08.28
by 두잇투데이 2012.08.28 15:29

ServletContext 객체는 서버가 구동될 때.

web프로젝트(web appication)당 하나씩 생성된다.

web.xlm을 읽고 적용하는 정보는 ServletContext 객체에 저장한다.


apllication scope -  서버가 구동되는 동안 유지 가능.

session scope - 원하는 만큼 유지가능.

request scope - 요청이 처리되는 동안 forward, Include 되는 다른 자원과 공유 - 요청이 처리되는 동안 유효.

page scope - JSP가 처리최는 동안 생성된 JSP에서만 사용

'programming > Servlet' 카테고리의 다른 글

meta 문자를 이용한 setProeprty  (0) 2012.08.29
useBean 실습 예제.  (0) 2012.08.29
setProperty & getProperty  (0) 2012.08.28
useBean  (0) 2012.08.28
ServletContext  (0) 2012.08.28
Dispatcher 와 Redirect  (0) 2012.08.28
by 두잇투데이 2012.08.28 15:11
| 1 2 |