Liferay Store Locator
A simple store locator to showcase the stores stored in back end into a google map location view. A distance based filter helps user to find the store within given distance. It requires geo location fields to be entered via backend.
A common usecase: Photo studio association or company needs to show list of all the studios around the world, which comes under their association, they can add/edit stores by admin view of the portal and end-user can see list of the studios and also they can filter nearer studios based on their current location.
Store locator component has below capabilities.
- Add/edit stores
- Featured with google maps to empower visualization of the location of the stores
- Filter based on distance – Miles/Kilometers powered by ElasticSearch
- Liferay 7 – GA4 +
- MySQL 5.6 +
- Elastic Search
How to use
- Download, build and install store location entities jars on your server.
- Check module status in liferay tomcat server using console log OR using gogo shell.
- Add StoreLocationAdmin Portlet on a specific page to add/edit stores.
Please note that, StoreLocation Admin Portlet and StoreLocation View Portlet are exists under Byteparity category as shown in below snapshot.
You should add Google API Key from the configuration of portlet. We have used Google API to get address information, Latitude & Longitude in admin portlet and Maps API in view portlet.
After adding several stores you can see how it looks in view portlet for end-user.
- For stores view by end user, add StoreLocation view portlet on a specific page.
You should add Google API Key & check Enable Search Filter from the configuration of portlet. We have used Google API to get the location of the stores in the map. For Enable Search Filter option if you mark as a ticked then filter search option will be visible in the UI and it won’t be visible for vice versa case.
With the help of GeoDistanceFilter class, we are able to search stores around the location of current user. We need to select distance unit either Mile or Kilometer and add the distance within which list of stores should appear. After that we will get the list of stores in the radius of current user’s location. By default it will display all the stores.
Please feel free to contact us on email@example.com for any issue/suggestions.