-
-
Notifications
You must be signed in to change notification settings - Fork 28
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
Include interface for searching for a place name or address in Cesium #1796
Comments
Also look into using the GNIS database for U.S. placenames, and geonames for places outside the U.S. |
We have a list of placenames that we are going to add as a layer to the PDG. It would be great to incorporate these into the places search, see PermafrostDiscoveryGateway/pdg-portal#5 |
From #2229 (duplicate):
|
I've outlined a recommendation in a Google doc exploring various geocoder APIs. With input from Matt, Robyn, and Yvonne, we've elected to go with the Google Maps API. Below is a summary of the discussion had there in the case that this Google doc is no longer reachable. There are a few reasons we've chosen this API. It supports international place name geocoding, it is an industry standard that we (MetacatUI) are already integrated with for using the Google Maps UI component, there's no additional server-side setup, and the story for integrating with the Places API for generating place name autocomplete suggestions similarly ought to be easy given the expected compatibility between Google APIs. In the discussion we also noted that the desire to search for local Arctic place names may become a challenge with Google API place names, so we should implement this integration in such a way that if we need to migrate to a different third-party service it is impossible or even very difficult. |
Thanks, @ianguerin -- great summary. For the local place names not found in the Google Maps API, another option might be to enable searching two or more services in parallel and merging the results. GMaps will likely cover 99%+ of our needs. Being able to merge in a few results from some local placename datasets would probably cover the local edgecases, if we could do that efficiently. I gave some examples of those in the gdoc. |
In the case of multiple data sources, I think we will want to create a single API that fans out to call the separate data sources. That limits the number of outgoing requests for our users and will keep the FE code simple |
Here's a quick outline of engineering design. Essentially we are integrating with Google Maps Places Autocomplete and Google Maps Geocoder APIs. This will build off of the work done to support searching by latitude and longitude in the forthcoming "viewfinder" toolbar view. |
@ianguerin, great job on the design doc for the viewfinder places search! Just a couple of things I wanted to clarify:
|
1- Yes, I'll create a viewfinder model (that could be renamed/moved in future for reuse) that takes an input and returns a list of GeoPoints + plus some display metadata. 2- I am planning to use the same, new, Viewfinder model. Would you suggest having a GoogleMapsApi model? |
I think there are multiple good approaches here. Whatever the design in the end, it should take into account two situations that we'd like to avoid:
One approach could involve some sort of generic |
I agree with not wanting to make Viewfinder model overly complex. I would argue that integrating with more services should necessitate creating a new API endpoint so that the user's browser only emits a single API call. In this way we can aggregate the search results on the backend before returning a result to the user. In this way, Viewfinder model should only ever be integrating with a single API. I understand the concern of making Viewfinder model too closely integrated with a specific API, I think it makes sense to create a separate model for Google Maps integration, one which returns a model, lets call it |
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Replace lat,long-only search with search for reqular query strings. fixes NCEAS#2280 fixes NCEAS#2270 fixes NCEAS#1796
Documenting the following fixes that we will implement as a part of the April release (R1):
|
Cesium includes an optional widget for searching for a location by address or name, and then navigating to the searched-for location. To enable this, we'll need a key for one of the Geocoder services
The text was updated successfully, but these errors were encountered: