본문 바로가기
아두이노

아두이노 이더넷 웹서버 만들기 -#16

by 오징어땅콩2 2020. 5. 19.
반응형

 

최종완성된 함수 형태이다.
특별히 어려운것은 없지만, 아무래도 아래문장만 조심해서 만들면 된다.
그냥 C/C++같으면 %f로 만들면 되지만 아두이노는 지원 하지 않는다.
그래서 String을 사용해야 한다.

 

p+=sprintf(p,\"      center: new google.maps.LatLng(%s, %s),\n"", String(y,1).c_str(), String(x,1).c_str());  

Colored by Color Scripter

 

x,y에 본인이 넣고 싶은 GPS좌표만 넣으면 된다. 
아두이노에서 GPS를 연결해도 좋지만 일단 연습이나 아무거나 넣자.
36.4251083, 127.389638은 본인이 자주가는 커피전문점 좌표이다.
구글에 검색하면 주소를 좌표로 바꾸어 주는 서비스도 있다.

 

 

 

 

void webPage3(EthernetClient& c, double y, double x)  

{

  char* p = msg;

  p+=sprintf(p,"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> \n");

  p+=sprintf(p,"

http://www.w3.org/1999/xhtml\">\n"</html xmlns=\"

);

  p+=sprintf(p,"<head>\n");

  p+=sprintf(p,"<meta http-equiv=\"Content-Type\" content=\"application/xhtml+xml; charset=utf-8\" />\n");

  p+=sprintf(p,"<meta name=\"viewport\" content=\"user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width\" />\n");

  p+=sprintf(p,"

http://code.google.com/apis/maps/documentation/javascript/examples/standard.css\" rel=\"stylesheet\" type=\"text/css\" />\n"</link href=\"); 

  p+=sprintf(p,"

); 

 

  p+=sprintf(p,"<script  type=\"text/javascript\">\n"); 

  p+=sprintf(p,"function initalize() {\n");

  p+=sprintf(p,"var mapOptions = {\n");

  p+=sprintf(p,"zoom: 15,\n");

  p+=sprintf(p,"center: new google.maps.LatLng(%s, %s),\n", String(y,1).c_str(), String(x,1).c_str());       

  p+=sprintf(p,"disableDefaultUI: true,\n");

  p+=sprintf(p,"mapTypeId: google.maps.MapTypeId.ROADMAP,\n");

  p+=sprintf(p,"draggable: false  \n");

  p+=sprintf(p,"} \n");

  p+=sprintf(p,"var map = new google.maps.Map(document.getElementById(\"map_canvas\"), mapOptions); \n");

  p+=sprintf(p,"var marker = new google.maps.Marker({map: map, position: map.getCenter()}); \n");

  p+=sprintf(p,"}\n");

  p+=sprintf(p,"</script> \n"); 

  p+=sprintf(p,"<title> Google Map JavaScript API </title>\n");

  p+=sprintf(p,"</head>                         \n");

  p+=sprintf(p,"<body onload=\"initalize()\">\n");

  p+=sprintf(p,"    <div id=\"map_canvas\" style=\"width: 640px; height: 480px; margin: 0 auto; top:50px; border: 1px solid black;\"> </div>\n");

  p+=sprintf(p,"</body>\n");

  p+=sprintf(p,"</html>\n");

 

  Serial.println(strlen(msg));

  c.println(msg);

  return ;

}

Colored by Color Scripter

댓글