package wicket.contrib.gmap3.overlay;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
import wicket.contrib.gmap3.GMap;
import wicket.contrib.gmap3.js.Constructor;
/**
* @author flowerrrr
*/
public class GInfoWindow extends GOverlay {
private String content;
public GInfoWindow(String content) {
this.content = content;
}
/**
* @return A JavaScript constructor that represents this element.
*/
@Override
public String getJSconstructor() {
return new Constructor("google.maps.InfoWindow").add(
"{content: '" + content + "'}").toJS();
}
public String getJSopenFunction(GMap map, GMarker marker) {
return "function() { " + getJsReference() + ".open(" + map.getJsReference() + ", " + marker.getJsReference() + ");}";
}
@Override
protected void updateOnAjaxCall(final AjaxRequestTarget target, final GOverlayEvent overlayEvent) {
throw new UnsupportedOperationException("Method not implemented!");
}
public static String getJSopenFunction(final GMap map, final String content, final GMarker overlay) {
final StringBuffer buffer = new StringBuffer();
buffer.append("function() {");
buffer.append(map.getJsReference() + ".openSingleInfoWindowOn(overlay" + overlay.getId() + ", \""
+ StringEscapeUtils.escapeEcmaScript(content.toString()) + "\");}");
return buffer.toString();
}
}