com.lynden.gmapsfx.zoom.MaxZoomService Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of GMapsFX Show documentation
Show all versions of GMapsFX Show documentation
A Java API for using Google Maps within a JavaFX application.
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.lynden.gmapsfx.zoom;
import com.lynden.gmapsfx.javascript.JavascriptObject;
import com.lynden.gmapsfx.javascript.object.GMapObjectType;
import com.lynden.gmapsfx.javascript.object.LatLong;
import netscape.javascript.JSObject;
/**
*
* @author Geoff Capper
*/
public class MaxZoomService extends JavascriptObject {
private MaxZoomServiceCallback callback;
public MaxZoomService() {
super(GMapObjectType.MAX_ZOOM_SERVICE);
}
public void getMaxZoomAtLatLng(LatLong loc, MaxZoomServiceCallback callback) {
this.callback = callback;
JSObject doc = (JSObject) getJSObject().eval("document");
doc.setMember(getVariableName(), this);
StringBuilder r = new StringBuilder(getVariableName())
.append(".")
.append("getMaxZoomAtLatLng(")
.append(loc.getVariableName())
.append(", ")
.append("function(result) {document.")
.append(getVariableName())
.append(".processResponse(result);});");
System.out.println("MaxZoomService direct call: " + r.toString());
getJSObject().eval(r.toString());
}
/** Processess the Javascript response and generates the required objects
* that are then passed back to the original callback.
*
* @param result
*/
public void processResponse(Object result) {
if (result instanceof JSObject) {
MaxZoomResult mzr = new MaxZoomResult((JSObject) result);
callback.maxZoomReceived(mzr);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy