2016-07-18 4 views
0

Я использую API-интерфейс Leaflet для отображения карты в приложении JavaFX. Я использую WebView для визуализации веб-сайта с картой в своем приложении. Приложение показывает вождение моделирование автомобиля между некоторыми точками. Если я использую Маршрутизацию OSMR, у меня нет никаких проблем с визуализацией веб-сайта &.WebView show Карта лифтов с маршрутизацией GraphHopper

Проблема в том, что я должен использовать машину маршрутизации 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: '&copy; <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()); 

Может кто-нибудь мне помочь?

+0

Вы используете действительный ключ api? Что напечатано в консоли? Выполняются ли запросы? Они все в порядке и просто не визуализируются? – Karussell

+0

Да, я использую действительный ключ api. Проблема заключается в запросе маршрутизации. Это https, а не http. И у веб-браузера есть некоторые проблемы с сертификатами, которые я думаю. –

+0

Re certificate: используете ли вы последнюю версию Java? – Karussell

ответ

0

Одна из проблем заключается в том, что ваша карта не полностью инициализирована, пока вы не установили представление. Попробуйте, например:

var map = L.map('map').setView([57.74, 11.94], 10); 

или даже просто:

var map = L.map('map').setView([0, 0], 0); 

и вы должны увидеть ваши карты плитки и, надеюсь, ваш маршрут.

+1

Спасибо, карта показывает! Но маршрут по-прежнему отсутствует. –

Смежные вопросы