Skip to content

Commit 2f309d7

Browse files
author
Peter
committed
moved button out of the form as this leads to double fire problems; made flags moveable
1 parent 3572031 commit 2f309d7

File tree

2 files changed

+28
-12
lines changed

2 files changed

+28
-12
lines changed

web/src/main/webapp/index.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -107,13 +107,13 @@ <h1><a class="no_link" href="http://graphhopper.com">
107107
<img alt="GraphHopper" src="http://graphhopper.com/img/header.png"/>
108108
<span style="font-size: small; color: gray">Web Demo</span></a></h1>
109109
<div id="input">
110-
<form id="locationform" action="javascript:return false;">
111-
<div id="options">
112-
<span id="vehicles">
113-
114-
</span>
115-
<input id="hiddenButton" type="submit" value="Search">
116-
</div>
110+
<div id="options">
111+
<span id="vehicles">
112+
113+
</span>
114+
<input id="hiddenButton" type="submit" value="Search">
115+
</div>
116+
<form id="locationform" action="javascript:return false;">
117117
<div id="fromDiv">
118118
<img id="fromIndicator" class="hidden" src="img/indicator.gif"/>
119119
<img id="fromFlag" src="img/marker-from.png"/>

web/src/main/webapp/js/main.js

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -197,16 +197,17 @@ function initMap() {
197197

198198
routingLayer = L.geoJson().addTo(map);
199199
clickToRoute = true;
200-
function onMapClick(e) {
200+
function onMapClick(e) {
201+
var latlng = e.latlng;
201202
if(clickToRoute) {
202203
// set start point
203204
routingLayer.clearLayers();
204205
clickToRoute = false;
205-
ghRequest.from.setCoord(e.latlng.lat, e.latlng.lng);
206+
ghRequest.from.setCoord(latlng.lat, latlng.lng);
206207
resolveFrom();
207208
} else {
208209
// set end point
209-
ghRequest.to.setCoord(e.latlng.lat, e.latlng.lng);
210+
ghRequest.to.setCoord(latlng.lat, latlng.lng);
210211
resolveTo();
211212
// do not wait for resolving
212213
routeLatLng(ghRequest);
@@ -218,9 +219,24 @@ function initMap() {
218219

219220
function setFlag(latlng, isFrom) {
220221
if(latlng.lat) {
221-
L.marker([latlng.lat, latlng.lng], {
222-
icon: (isFrom? iconFrom : iconTo)
222+
var marker = L.marker([latlng.lat, latlng.lng], {
223+
icon: (isFrom? iconFrom : iconTo),
224+
draggable: true
223225
}).addTo(routingLayer).bindPopup(isFrom? "Start" : "End");
226+
marker.on('dragend', function(e) {
227+
routingLayer.clearLayers();
228+
// inconsistent leaflet API: event.target.getLatLng vs. mouseEvent.latlng?
229+
var latlng = e.target.getLatLng();
230+
if(isFrom) {
231+
ghRequest.from.setCoord(latlng.lat, latlng.lng);
232+
resolveFrom();
233+
} else {
234+
ghRequest.to.setCoord(latlng.lat, latlng.lng);
235+
resolveTo();
236+
}
237+
// do not wait for resolving
238+
routeLatLng(ghRequest);
239+
});
224240
}
225241
}
226242

0 commit comments

Comments
 (0)