sozialhelden / wheelmap-classic

:wheelchair: Legacy "classic" wheelmap.org (deprecated)
http://www.wheelmap.org
GNU Affero General Public License v3.0
47 stars 16 forks source link

Photon – advanced searching #28

Open lennerd opened 9 years ago

lennerd commented 9 years ago

Regarding #18:

Implementing better search feature

Our current search feature is based on Nominatim, which makes it very basic and sometimes unstable.

screenshot 2015-09-28 09 07 15

Wouldn't it be great to use a service, like Photon?

This would give us:

ghost commented 8 years ago

I can't promise a lot of time on this, but I'd like to take a look.

holgerd commented 8 years ago

fyi: Maybe a Photon alternative? https://mapzen.com/projects/search

lennerd commented 8 years ago

@voltagex That would be great!

@holgerd Thanks for sharing. The advantage of Photon is that we already implemted this library for the Embed Widget.

ghost commented 8 years ago

I'm trying to avoid this falling off my list of things to do. I have some time this weekend and next (GMT+11, so it's Friday night as I write this). I can code, but I haven't written Ruby before.

Can someone point me in the right direction to get started on this?

ghost commented 8 years ago

I'm assuming this also means hitting photon.komoot.de with all the searches from wheelmap - do we want to check if that's OK? Otherwise is it possible to host our own on wheelmap infrastructure?

christoph-buente commented 8 years ago

I checked back with Christoph from Komoot once, and he confirmed there is no problem using http://photon.komoot.de if we keep below 7 requests/second. If we hit more, there is something we can work out with them i guess.

lennerd commented 8 years ago

@voltagex You can find the corresponding part of the app in the search controller: https://github.com/sozialhelden/wheelmap/blob/master/app/controllers/search_controller.rb

Here you will find the current implementation of the Nominatim API. To change this implementation to use Photon should be quite trivial. The maybe a bit more difficult part is to handle the Photon response as Nominatim has an own format and Photon uses GeoJSON.

You find more informations in the corresponding documentations: Nominatim: http://wiki.openstreetmap.org/wiki/Nominatim Photon: https://photon.komoot.de/#api

If you have any more questions, don't hesitate to ask.

ghost commented 8 years ago

Time constraints mean I can't take this one on at the moment - I hope I haven't scared anyone else off from having a go at this.