mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-18 16:29:51 +00:00
link to google maps for footway arrivals if coordinate is known
git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@134 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
parent
f266d841a4
commit
f3fc78f8fa
2 changed files with 27 additions and 7 deletions
|
@ -143,6 +143,19 @@ public final class Connection implements Serializable
|
||||||
final public String departure;
|
final public String departure;
|
||||||
final public int arrivalId;
|
final public int arrivalId;
|
||||||
final public String arrival;
|
final public String arrival;
|
||||||
|
final public double arrivalLat, arrivalLon;
|
||||||
|
|
||||||
|
public Footway(final int min, final int departureId, final String departure, final int arrivalId, final String arrival,
|
||||||
|
final double arrivalLat, final double arrivalLon)
|
||||||
|
{
|
||||||
|
this.min = min;
|
||||||
|
this.departureId = departureId;
|
||||||
|
this.departure = departure;
|
||||||
|
this.arrivalId = arrivalId;
|
||||||
|
this.arrival = arrival;
|
||||||
|
this.arrivalLat = arrivalLat;
|
||||||
|
this.arrivalLon = arrivalLon;
|
||||||
|
}
|
||||||
|
|
||||||
public Footway(final int min, final int departureId, final String departure, final int arrivalId, final String arrival)
|
public Footway(final int min, final int departureId, final String departure, final int arrivalId, final String arrival)
|
||||||
{
|
{
|
||||||
|
@ -151,6 +164,8 @@ public final class Connection implements Serializable
|
||||||
this.departure = departure;
|
this.departure = departure;
|
||||||
this.arrivalId = arrivalId;
|
this.arrivalId = arrivalId;
|
||||||
this.arrival = arrival;
|
this.arrival = arrival;
|
||||||
|
this.arrivalLat = 0;
|
||||||
|
this.arrivalLon = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -161,7 +176,7 @@ public final class Connection implements Serializable
|
||||||
builder.append(",");
|
builder.append(",");
|
||||||
builder.append("departure=").append(departureId).append("/").append(departure);
|
builder.append("departure=").append(departureId).append("/").append(departure);
|
||||||
builder.append(",");
|
builder.append(",");
|
||||||
builder.append("arrival=").append(arrivalId).append("/").append(arrival);
|
builder.append("arrival=").append(arrivalId).append("/").append(arrival).append("/").append(arrivalLat).append(",").append(arrivalLon);
|
||||||
builder.append("]");
|
builder.append("]");
|
||||||
return builder.toString();
|
return builder.toString();
|
||||||
}
|
}
|
||||||
|
|
|
@ -370,9 +370,9 @@ public final class VbbProvider implements NetworkProvider
|
||||||
+ "<strong>(.*?)</strong>" // arrival
|
+ "<strong>(.*?)</strong>" // arrival
|
||||||
+ "|" //
|
+ "|" //
|
||||||
+ "(\\d+) Min\\.[\n\\s]?" // footway
|
+ "(\\d+) Min\\.[\n\\s]?" // footway
|
||||||
+ "Fussweg\n?" //
|
+ "Fussweg.*?" //
|
||||||
+ ".*?(?:<a href=\"/Fahrinfo.*?input=(\\d+)\">\n?" // arrivalId
|
+ "(?:<a href=\"/Fahrinfo.*?input=(\\d+)\">\n" // arrivalId
|
||||||
+ "<strong>(.*?)</strong>|<a href=\"/Stadtplan.*?\">(\\w.*?)</a>|<strong>(.*?)</strong>).*?" // arrival
|
+ "<strong>(.*?)</strong>|<a href=\"/Stadtplan.*?WGS84,(\\d+),(\\d+)&.*?\">([^<]*)</a>|<strong>([^<]*)</strong>).*?" // arrival
|
||||||
+ ").*?", Pattern.DOTALL);
|
+ ").*?", Pattern.DOTALL);
|
||||||
|
|
||||||
public GetConnectionDetailsResult getConnectionDetails(final String uri) throws IOException
|
public GetConnectionDetailsResult getConnectionDetails(final String uri) throws IOException
|
||||||
|
@ -453,17 +453,22 @@ public final class VbbProvider implements NetworkProvider
|
||||||
{
|
{
|
||||||
final int arrivalId = mDetFine.group(12) != null ? Integer.parseInt(mDetFine.group(12)) : 0;
|
final int arrivalId = mDetFine.group(12) != null ? Integer.parseInt(mDetFine.group(12)) : 0;
|
||||||
|
|
||||||
final String arrival = ParserUtils.resolveEntities(selectNotNull(mDetFine.group(13), mDetFine.group(14), mDetFine.group(15)));
|
final String arrival = ParserUtils.resolveEntities(selectNotNull(mDetFine.group(13), mDetFine.group(16), mDetFine.group(17)));
|
||||||
|
|
||||||
|
final double arrivalLon = mDetFine.group(14) != null ? latLonToDouble(Integer.parseInt(mDetFine.group(14))) : 0;
|
||||||
|
|
||||||
|
final double arrivalLat = mDetFine.group(15) != null ? latLonToDouble(Integer.parseInt(mDetFine.group(15))) : 0;
|
||||||
|
|
||||||
if (parts.size() > 0 && parts.get(parts.size() - 1) instanceof Connection.Footway)
|
if (parts.size() > 0 && parts.get(parts.size() - 1) instanceof Connection.Footway)
|
||||||
{
|
{
|
||||||
final Connection.Footway lastFootway = (Connection.Footway) parts.remove(parts.size() - 1);
|
final Connection.Footway lastFootway = (Connection.Footway) parts.remove(parts.size() - 1);
|
||||||
parts.add(new Connection.Footway(lastFootway.min + Integer.parseInt(min), lastFootway.departureId, lastFootway.departure,
|
parts.add(new Connection.Footway(lastFootway.min + Integer.parseInt(min), lastFootway.departureId, lastFootway.departure,
|
||||||
arrivalId, arrival));
|
arrivalId, arrival, arrivalLat, arrivalLon));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
parts.add(new Connection.Footway(Integer.parseInt(min), departureId, departure, arrivalId, arrival));
|
parts.add(new Connection.Footway(Integer.parseInt(min), departureId, departure, arrivalId, arrival, arrivalLat,
|
||||||
|
arrivalLon));
|
||||||
}
|
}
|
||||||
|
|
||||||
lastArrival = arrival;
|
lastArrival = arrival;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue