我正在使用Leaflet API在JavaFX应用程序中显示地图。我正在使用WebView在我的应用程序中可视化带有地图的网站。该应用程序显示了汽车在某些点之间的驾驶模拟。如果我使用OSMR路由,我在可视化网站和地图方面没有任何问题。
问题是我必须使用GraphHopper路由机。
如果我使用GraphHopper路由,地图的控制元素将会显示,但地图只是灰色的。
如果我在浏览器中打开网站,我不会有任何问题。
这是地图的代码
<body>
<div id="map" class="map"></div>
<script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
<script src="rm/dist/leaflet-routing-machine.js"></script>
<script src="rm/lrm-graphhopper.js"></script>
<script type="text/javascript">
var map = L.map('map');
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
L.Routing.control({
waypoints: [
L.latLng(57.74, 11.94),
L.latLng(57.6792, 11.949)
],
router: L.Routing.graphHopper('Api-key'),
routeWhileDragging: true
}).addTo(map);
</script>
</body>下面是javaFX应用程序的代码:
WebEngine webEngine = webView.getEngine();
webEngine.setJavaScriptEnabled(true);
webEngine.load(Main.class.getResource("/application/index.html").toExternalForm() );有人能帮我吗?
发布于 2016-07-20 14:25:08
一个问题是,直到您设置了视图,您的映射才会完全初始化。尝试一下,例如:
var map = L.map('map').setView([57.74, 11.94], 10);或者仅仅是:
var map = L.map('map').setView([0, 0], 0);你应该看到你的地图图块,希望还有你的路线。
https://stackoverflow.com/questions/38433125
复制相似问题