Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.46 KB | None | 0 0
  1. //HTML
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <title>Flickr</title>
  7. <link rel="stylesheet" type="text/css" href="css/reset.css">
  8. <!--<link rel="stylesheet" type="text/css" href="css/screen.css">-->
  9. <link rel="stylesheet" type="text/css" href="css/responsive.css">
  10.  
  11. </head>
  12. <body>
  13. <div id="container">
  14.  
  15. <header>
  16. <h1>Flickr</h1>
  17. <h2>Find your favorite images! </h2>
  18. </header>
  19. <hr>
  20. <form>
  21. <label for="search">Geef hier uw zoekopdracht!</label>
  22. <input type="text" id="search" />
  23. <input type="submit" id="zoek" value="Search!">
  24. </form>
  25.  
  26. <div id="photos">
  27.  
  28. </div>
  29.  
  30.  
  31. <div id="userPhotos">
  32. </div>
  33.  
  34. <div id="map">
  35. </div>
  36. <script type="text/javascript" src="scripts/jquery.js"></script>
  37. <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyD1rG8KRkQoCmBeOM_HszD_SpHaBVfkXAA&callback=nothing"
  38. async defer></script>
  39. <!--<script type="text/javascript" src="scripts/flickrapi.dev.js"></script>-->
  40. <script type="text/javascript" src="scripts/script.js"></script>
  41.  
  42. </div>
  43. </body>
  44. </html>
  45.  
  46. //JAVASCRIPT
  47.  
  48.  
  49. var normalSearch = function(e){
  50. e.preventDefault();
  51. $("").hide();
  52. var search = $("#search").val();
  53. console.log("success");
  54. $.ajax({
  55. type: "GET",
  56. url: "https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=df569b36f509079a0e5581ca644470fb&has_geo=1&jsoncallback=?",
  57. data: {
  58. format: "json",
  59. tags: search,
  60. extras: 'geo'
  61. },
  62. dataType: "json"
  63. }).done(function(data){
  64. console.log(data);
  65. foto = $("#photos");
  66. foto.html("");
  67. for(var i = 0; i < data.photos.photo.length; i++) {
  68. var farm = data.photos.photo[i].farm;
  69. var server = data.photos.photo[i].server;
  70. var id = data.photos.photo[i].id;
  71. var secret = data.photos.photo[i].secret;
  72. var owner = data.photos.photo[i].owner;
  73. var title = data.photos.photo[i].title;
  74. var latitude = data.photos.photo[i].latitude;
  75. var longitude = data.photos.photo[i].longitude;
  76. if (title === undefined){
  77. title = "no title available";
  78. }
  79. var url = "https://farm" + farm + ".staticflickr.com/" +server + "/" + id + "_" + secret + ".jpg";
  80. console.log(url);
  81. (foto.append("<div><h2 data-lat='"+latitude +"' data-long='" + longitude + "' id='testing' about='"+ id +"' class='"+ latitude + "'>" + title + "</h2><h3 about='"+ owner + "' class='" + longitude + "'>" + owner + "</h3>" + "<img src='" + url + "'>"));
  82. console.log($("h3").attr("about"));
  83. // $("#photos").append("<img src='"+ url + "'>");
  84. //https://farm{farm-id}.staticflickr.com/{server-id}/{id}_{secret}.jpg
  85. }
  86. })
  87. };
  88.  
  89.  
  90. var showUsersPic = function(){
  91. console.log($("h2#testing").attr('class'));
  92. console.log($("h3").attr('class'));
  93. $("form").hide();
  94. $("#photos").hide();
  95. $("#userPhotos").show();
  96. var owner = $(this).attr('about');
  97. console.log(owner);
  98. $.ajax({
  99. type: "GET",
  100. url: "https://api.flickr.com/services/rest/?method=flickr.people.getPublicPhotos&api_key=df569b36f509079a0e5581ca644470fb&has_geo=1&jsoncallback=?",
  101. data: {
  102. format: "json",
  103. user_id: owner
  104. },
  105. dataType: "json"
  106. }).done(function(data){
  107. console.log(data);
  108. user = $("#userPhotos");
  109. var foto = user;
  110. foto.html("");
  111. for (var i = 0; i< 100; i++){
  112. var farm = data.photos.photo[i].farm;
  113. var server = data.photos.photo[i].server;
  114. var id = data.photos.photo[i].id;
  115. var secret = data.photos.photo[i].secret;
  116. // var owner = data.photos.photo[i].owner;
  117. var title = data.photos.photo[i].title;
  118. var url = "https://farm" + farm + ".staticflickr.com/" + server + "/" + id + "_" + secret + ".jpg";
  119. user.append("<div><h3>" + title + "</h3>" + "<img src='" + url + "'>");
  120. }
  121. foto.prepend("<a>Return to the previous page!</a>");
  122. });
  123. };
  124.  
  125. var initMap = function(){
  126. $("#photos").hide();
  127. $("#map").show();
  128.  
  129. var lati = parseFloat($(this).attr('data-lat'));
  130. var longi = parseFloat($(this).attr('data-long'));
  131. // lati = lati.toString();
  132. // longi = longi.toString();
  133. console.log(lati);
  134. console.log(longi);
  135. var uluru = {lat: lati, lng: longi};
  136. console.log(uluru);
  137. var map = new google.maps.Map(document.getElementById('map'),
  138. {center: uluru,
  139. zoom: 8})
  140. };
  141.  
  142. var nothing = function(){
  143. console.log("nothing");
  144. };
  145.  
  146. $(document).ready(function(){
  147. //just to ignore those annoying duplicate "errors"
  148. var foto = $("div#photos");
  149. var form = $("form");
  150.  
  151. //normalSearch = gewoon zoekopdracht, dus op tags
  152. form.on("submit", normalSearch);
  153. //showUsersPic = Toon de rest van de eigenaar zijn fotos --> nog back-button fixen!!!
  154. foto.on("click", "h3", showUsersPic);
  155. //nog afwerken, toont de maps, nog checken voor die terug button
  156. foto.on("click", "h2", initMap);
  157. });
  158.  
  159. //CSS
  160.  
  161. /*for smartphone --> still to be looked after !!!!!*/
  162. @media only screen
  163. and (min-device-width: 414px)
  164. and (max-device-width: 736px)
  165. and (-webkit-min-device-pixel-ratio: 3){
  166. body {
  167. width: 100px;
  168. }
  169.  
  170. }
  171.  
  172. /*for Desktop*/
  173. body {
  174. background-color: #2c3539;
  175. }
  176.  
  177. header {
  178. background-color: red;
  179. }
  180.  
  181. header h1 {
  182. color: black;
  183. font-weight: bold;
  184. text-transform: uppercase;
  185. text-align: center;
  186. font-size: 80px;
  187. }
  188.  
  189. header h2 {
  190.  
  191. font-size: 15px;
  192. font-weight: bold;
  193. }
  194.  
  195. form {
  196. padding-top: 60px;
  197. font-weight: bold;
  198. font-size: 30px;
  199. }
  200.  
  201. input[type=text]{
  202. border: none;
  203. width: 15rem;
  204. height: 1.3rem;
  205. background-color: grey;
  206. }
  207.  
  208. input[type=submit] {
  209. border: none;
  210. color: blue;
  211. font-weight: bold;
  212. font-size: 20px;
  213. background-color: red;
  214. height: 30px;
  215. width: 89px;
  216. border-radius: 4px;
  217.  
  218. }
  219.  
  220. img {
  221. width: 400px;
  222. height: 400px;
  223. padding-right: 20px;
  224. }
  225.  
  226. div {
  227. float: left;
  228. padding-right: 10px;
  229. }
  230.  
  231. div p {
  232. padding-bottom: 10px;
  233. font-weight: bold;
  234. font-size: 20px;
  235. }
  236. .hide{
  237. display: none;
  238. }
  239.  
  240. #container {
  241. width: 80%;
  242. margin: auto;
  243. }
  244. .test {
  245. color: orange;
  246. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement