Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Plus Codes support #4421

Open
mrgluek opened this issue Oct 1, 2016 · 20 comments
Open

Add Plus Codes support #4421

mrgluek opened this issue Oct 1, 2016 · 20 comments

Comments

@mrgluek
Copy link

mrgluek commented Oct 1, 2016

Like in Google maps - to copy it from coordinates menu and to search:
https://plus.codes/

@mrgluek
Copy link
Author

mrgluek commented Oct 1, 2016

@burivuh
Copy link

burivuh commented Oct 5, 2016

Hi! What are the numbers? I mean, how many people are currently using this system? We have a small team, so we need a good reason to take something into work

@mrgluek
Copy link
Author

mrgluek commented Oct 6, 2016

Can's say exact numbers, but it's in google maps now as default location sharing way, so at least you may support decoding it to coordinates in mapsme's search box.

@hermanstankov
Copy link

I was trying to get the idea of the plus codes but I was unable to imagine someone who really uses it as primary sharing option with others. I think that regular lat/longs are at least can give you a clue of where the coordinate is located (like positive / negative number or relative proximity to your home lat/long) unlike the random numbers in plus codes.

But as of now when Google Maps doesn't allow to copy lat/long anymore I think it would be a good idea for Maps.me to at least give ability to decode those codes in the Search bar as it currently does for latitude longitude (just for a compatibity with Google Maps users).

I guess that's a decent reason to add this feature in the future 😃

@zongweil
Copy link

Hello all! I'm one of the contributors to the Open Location Code library at Google (particularly the Android demo). I'd be happy to work on decoding OLC in search and adding the code to the display panels.

As to why OLC is useful, remember that street addresses are not available everywhere. In fact, the World Bank estimates that more than half of the world's urban streets don't have a name. A lack of addresses makes things we take for granted - getting mail, delivering pizza, etc. - really difficult. Latitude and longitude work, but aren't really human friendly - imagine having to tell someone the lat/long of your house.

OLC, on the other hand, are as easy to remember as a phone number and can represent different region sizes. Like lat/long, they work offline and if you play around with the demo at plus.codes, you'll see that places close to each other have similar codes.

OLC is currently being used by the Cape Verde postal system. Cape Verde doesn't have street addresses, and this enabled them to do home deliveries for the first time.

@burivuh is your team okay with me adding OLC support into maps.me? If so, let's work together to figure out where it makes sense to display the codes.

@burivuh
Copy link

burivuh commented Oct 28, 2016

Hi, we're thinking. At first glance we can do it relatively fast if we have a small C++ library to decode OLC string into a rectangle area (in normal coords) and a good (& fast) method of predicting that a word is actually an OLC in terms of probability. Is there any?

@zongweil
Copy link

zongweil commented Oct 28, 2016

We don't currently have a C++ implementation of the library, but we can create one if that's the easiest path forward. The library supports decoding an OLC string into a rectangle represented by two latitudes and two longitudes. There is also a method to determine a valid code which just parses through the string - very fast.

You can take a look at the java implementation for an idea of what the library looks like.

Is a C++ library the easiest way for you to integrate OLC?

@zongweil
Copy link

It turns out we actually have a tested C++ implementation of the library that we haven't gotten around to open-sourcing yet. I can work on doing that.

Do you have any other questions about the library? I'm happy to help out with this integration wherever needed.

@drinckes
Copy link

drinckes commented Nov 8, 2016

Hi - founder of the OLC project here. What's the best way we can help you? Just provide a C++ library, or do you need more help than that? I'm thinking it might take us a while to get up to speed with the code structure, and that you would be faster than us, but let us know how we can help.

There are three search cases we'd like to support:

  • global codes e.g., 796RWF8Q+WF. These can be decoded directly to a lat/lng.
  • local code e.g., WF8Q+WF. These need a reference location in order to recover the global code, and we suggest using the center of the map view. The library includes a method to take a local code and a lat/lng and return the global code.
  • local code and locality e.g., WF8Q+WF Praia, Cape Verde. You'll need to geocode the locality part to a lat/lng, then use that to recover the global code.

@burivuh
Copy link

burivuh commented Nov 8, 2016

Hi!

Yes, C++ library with a generic parser and a validator will be just enough. Then we can add this feature (at least reading) to our 2017 development plan.

Thanks!

@zongweil
Copy link

zongweil commented Nov 8, 2016

Sounds good, I'll let you know when our C++ library is open-sourced :).

@zongweil
Copy link

Here is our C++ library: https://github.com/google/open-location-code/tree/master/cpp

Let me know if there's anything we can do to make it easier to integrate.

@zongweil
Copy link

Hey @burivuh, is there anything else you need from us to integrate OLC into Maps.me?

@burivuh
Copy link

burivuh commented Mar 11, 2017

Hi!

I will pass this through to our Search team, then we'll see if smth else is needed.

Thank you!

@bjohas
Copy link

bjohas commented Jun 8, 2017

We're using both Maps.Me and OLCs in low-income countries / rural areas, e.g. in Zambia. It would be really excellent and helpful for Maps.Me to support OLC.

@zongweil
Copy link

@burivuh, any updates on this? Are there any ways we can help out?

@Zverik
Copy link
Contributor

Zverik commented Apr 4, 2018

We have partial support for Plus Codes merged into master, will be out in the next major release (late April / early May). Only searching by a code works; no displaying yet. Full (global) codes and short (local) based on a viewport center. No geocoding to support short codes + location yet.

Thanks Google team for writing a C++ library, using it was easy.

@zongweil
Copy link

zongweil commented Apr 4, 2018

Great! Thanks for the update. Glad the library was easy to use :).

@devurandom
Copy link

What is the current status of this? Could support for Open Location Codes / Plus Codes be completed already?

@bjohas
Copy link

bjohas commented Mar 29, 2020

I would love to see the ability to find plus codes too, e.g. as part of the 'context menu' (i.e., selecting a place). Geocoding to support "short code + location" is less important to me.

It would also be nice if the app could receive intents of the form: https://plus.codes/8FQ83Q4H+7W. We're hoping to develop a simple OLC collection app here https://github.com/edtechhub/ShareOLC (to help with health effort during Covid), and we could get that app to send intents of that form.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants