기본적으로 사용자가 입력하면 Google지도에서 마커를 새 위치로 이동하려고합니다.JavaFX - 입력을 통해 WebView의 변수 값 업데이트
어떻게 그것을 달성하기 위해 볼 :
- 내가 모든 자바 스크립트 및지도 부분을 담당 html 파일을 보였습니다. 마커가 설정됩니다.
저는 HTML 파일을 JavaFX의 WebView에 삽입했습니다.
내 JavaFX 응용 프로그램에는 2 개의 텍스트가 있습니다. 그 안에는 값을 입력하고 위도와 경도의 새 값이되므로 마커가 이동합니다. 나는 '
붙어는
나는 HTML 파일, 위도와 경도에서이 개 변수를했습니다. 마커의 위치를 지정합니다.
내 JavaFX 애플리케이션 작업 목록 작성자를 통해 lat와 lon 값을 어떻게 업데이트합니까? 내 코드에서 다음
html 파일은
<!DOCTYPE html>
<html>
// stuff and stuff
var map;
function initialize() {
var lat = 30.76;
var lon = 76.74;
var myLatlng = new google.maps.LatLng(lat, lon);
var mapOptions = {
zoom: 12,
center: new google.maps.LatLng(30.75, 76.78),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: 'Hello World!'
});
}
google.maps.event.addDomListener(window, 'load', initialize);
//stuff and stuff
다음
내 자바 FX는 window
에 할당하여 당신은 전역 범위에 넣을 수
public class GoogleApp extends Application {
private Scene scene;
MyBrowser myBrowser;
String lat;
String lon;
public static void main(String[] args) {
launch(args);
}
//stuff and stuff
class MyBrowser extends Pane{
HBox toolbar;
WebView webView = new WebView();
WebEngine webEngine = webView.getEngine();
public MyBrowser(){
final URL urlGoogleMaps = getClass().getResource("demo.html");
webEngine.load(urlGoogleMaps.toExternalForm());
getChildren().add(webView);
final TextField latitude = new TextField("latitude");
final TextField longitude = new TextField("longitude");
Button update = new Button("Update");
update.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent arg0) {
lat = latitude.getText();
lon = longitude.getText();
System.out.println(lat + lon);
}
});
getChildren().addAll(latitude, longitude, update);
}
}
}
작동하지 않는 것 같습니다. 그들이 업데이트되고 있는지 확인하기 위해 html 파일에서 lat/lon 변수의 값으로 표시했습니다 (document.getElementById ('lbllatitude'). innerHTML = window.lat;). 그리고 아니요, (webEngine.executeScript ("window.lat = 45;");)를 실행하면 전혀 변경되지 않습니다. – satnam
예를 들어 처음 본 데모에는 몇 가지 오류가 포함되어 있습니다 (즉, 'document.marker'대신 'marker'가 있어야 함). 나는 작동 요지를 만들었습니다 : https://gist.github.com/chaschev/7481304. –
예 !!!!그것의 작동 !!! 많은 많은 감사 – satnam