1 package com.lamatek.beans.google; 2 3 import javax.servlet.ServletRequest ; 4 import javax.servlet.jsp.PageContext ; 5 6 import com.lamatek.tags.google.GoogleMapEventHandler; 7 import com.lamatek.tags.google.GoogleMapTag; 8 9 36 public class DefaultEventListenerBean implements GoogleMapEventHandler { 37 38 41 private PageContext page; 42 45 private String scope = "site"; 46 47 54 public void setPageContext(PageContext page) { 55 this.page = page; 56 processRequest(page.getRequest()); 57 } 58 63 public PageContext getPageContext() { 64 return page; 65 } 66 74 private void processRequest(ServletRequest request) { 75 String event = request.getParameter("event"); 76 if (event != null) { 77 String mapName = request.getParameter("map"); 78 if (mapName != null) { 79 Object o = null; 80 o = page.getSession().getAttribute(mapName); 81 if (o == null) { 82 o = page.getAttribute(mapName); 83 scope = "page"; 84 } 85 if (o != null) { 86 GoogleMapTag map = (GoogleMapTag) o; 87 if (event.equals("click")) { 88 if (request.getParameter("component") == null) { 89 double latitude = -181.0d; 90 double longitude = -181.0d; 91 try { 92 latitude = Double.parseDouble(request.getParameter("latitude")); 93 longitude = Double.parseDouble(request.getParameter("longitude")); 94 } 95 catch(Exception ex) { 96 97 } 98 if ((longitude > -181.0 && latitude > -181)) 99 processClickEvent(map, longitude, latitude); 100 } 101 else { 102 processOverlayClickEvent(map, request.getParameter("component"), request.getParameter("type")); 103 } 104 } 105 else if (event.equals("dblclick")) { 106 if (request.getParameter("component") == null) { 107 double latitude = -181.0d; 108 double longitude = -181.0d; 109 try { 110 latitude = Double.parseDouble(request.getParameter("latitude")); 111 longitude = Double.parseDouble(request.getParameter("longitude")); 112 } 113 catch(Exception ex) { 114 115 } 116 if ((longitude > -181.0 && latitude > -181)) 117 processDoubleClickEvent(map, longitude, latitude); 118 } 119 else { 120 processOverlayDoubleClickEvent(map, request.getParameter("component"), request.getParameter("type")); 121 } 122 } 123 else if (event.equals("zoom")) { 124 int zoom = -1; 125 try { 126 zoom = Integer.parseInt(request.getParameter("zoom")); 127 } 128 catch(Exception ex) { 129 130 } 131 if (zoom >= 0) 132 processZoomEvent(map, zoom); 133 } 134 else if (event.equals("moveend")) { 135 double latitude = -181.0d; 136 double longitude = -181.0d; 137 try { 138 latitude = Double.parseDouble(request.getParameter("latitude")); 139 longitude = Double.parseDouble(request.getParameter("longitude")); 140 } 141 catch(Exception ex) { 142 143 } 144 if ((longitude > -181.0 && latitude > -181)) 145 processMoveEndEvent(map, longitude, latitude); 146 } 147 else if (event.equals("maptypechanged")) { 148 String type = request.getParameter("type"); 149 if (type != null) 150 processMapTypeChangedEvent(map, type); 151 } 152 process(map, page.getRequest()); 153 } 154 else { 155 System.out.println("Unable to load map named " + mapName); 156 } 157 } 158 else { 159 System.out.println("Unable to locate target map name."); 160 } 161 } 162 else { 163 System.out.println("No event found to process."); 164 } 165 } 166 176 public void process(GoogleMapTag map, ServletRequest request) { 177 178 } 179 190 public void processOverlayClickEvent(GoogleMapTag map, String id, String type) { 191 192 } 193 204 public void processClickEvent(GoogleMapTag map, double longitude, double latitude) { 205 206 } 207 218 public void processOverlayDoubleClickEvent(GoogleMapTag map, String id, String type) { 219 220 } 221 232 public void processDoubleClickEvent(GoogleMapTag map, double longitude, double latitude) { 233 234 } 235 245 public void processZoomEvent(GoogleMapTag map, int zoom) { 246 map.setZoom(zoom); 247 } 248 259 public void processMoveEndEvent(GoogleMapTag map, double longitude, double latitude) { 260 map.setCenterLatitude(latitude); 261 map.setCenterLongitude(longitude); 262 } 263 273 public void processMapTypeChangedEvent(GoogleMapTag map, String type) { 274 map.setType(type); 275 } 276 } 277 | Popular Tags |