}
@Override
public List<String> getLocationsLinkedTo(String fromLocation) {
List<String> result = new ArrayList<String>();
MapNode node = getWayNode(fromLocation);
if (node != null) {
for (WayRef wref : node.getWayRefs()) {
if (filter == null || filter.isAccepted(wref.getWay())) {
MapWay way = wref.getWay();
int nodeIdx = wref.getNodeIdx();
List<MapNode> wayNodes = way.getNodes();
MapNode next;
if (wayNodes.size() > nodeIdx + 1) {
next = wayNodes.get(nodeIdx + 1);
result.add(Long.toString(next.getId()));
}
if (nodeIdx > 0 && (!way.isOneway() || ignoreOneways)) {
next = wayNodes.get(nodeIdx - 1);
result.add(Long.toString(next.getId()));
}
}
}
}
return result;