i am really stuck with making google map with the "snap to road" function works in my javafx application so i used webview to implement a web page that containt the map.
Everyting works fine but not the ajax function inside the drawroad.js that use to snap the road by sending parameters about the drawn polygone to roads.googleapis.com.
this is the JS function of the drawroad.js:
function runSnapToRoad(path) {
var pathValues = [];
for (var i = 0; i < path.getLength(); i++) {
pathValues.push(path.getAt(i).toUrlValue());
}
jQuery.get('https://roads.googleapis.com/v1/snapToRoads', {
interpolate: true,
key: apiKey,
path: pathValues.join('|')
}, function(data) {
document.getElementById('autoc').value = "aa";
processSnapToRoadResponse(data);
drawSnappedPolyline();
});
}
and here's my controller start :
public void start(Stage stage) {
// create web engine and view
final WebView webView = new WebView();
final WebEngine webEngine = webView.getEngine();
webEngine.getLoadWorker().stateProperty().addListener((obs, oldState, newState) -> {
System.out.println(obs);
System.out.println(oldState);
System.out.println(newState);
if (newState == Worker.State.SUCCEEDED) {
addFunctionHandlerToDocument(webEngine);
}
});
webEngine.setUserAgent("Chrome/41.0.2228.0");
webEngine.load(getClass().getResource("map.html").toString());
webEngine.setJavaScriptEnabled(true);
// create root
BorderPane root = new BorderPane();
root.setCenter(webView);
// create scene
stage.setTitle("Web Map");
Scene scene = new Scene(root,1000,700, Color.web("#666970"));
stage.setScene(scene);
scene.getStylesheets().add("/webmap/WebMap.css");
// show stage
stage.show();
}
Hope you guys help me .