Expand my Community achievements bar.

SOLVED

To find all the nearby locations(latitude and longitude values) within a radius for a provided location(a single latitude and longitude)

Avatar

Level 2

Hi Team,

 

Got a requirement where, we have a path /etc/storelocator in aem. Under this path, we have several child nodes and each node contains 2 properties latitude and longitude. Please see the scrrenshot below:

RkR_F5_0-1620369226387.png

Now, we need to find all those nodes which are nearby to a location within a provided radius.

 

For example, let say radius = 10 km and location is {45.4286698 , -122.5752410}. we need to find all the nearby locations and its corresponding nodes under /etc/storelocator nodes.

 

Any input is highly appreciable.

 

Thanks!

 

@arunpatidar 

@kautuk_sahni 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi,

The approximate conversions are:

  • Latitude: 1 deg = 110.574 km
  • Longitude: 1 deg = 111.320*cos(latitude) km

You can use this logic to scan nodes and filter out neraby nodes.



Arun Patidar

View solution in original post

3 Replies

Avatar

Community Advisor

Hi @RkR_F5 

 

Hi

Please go through the below article:

http://theoryapp.com/store-locator-using-java/


The basic idea is as below:

  • Design a Store class, and load all data into an ArrayList of Stores.
  • Ask the user for an address, and find its geographical location.
  • Scan through the ArrayList of all stores to find the closest one.

Please note this will use the google geo API.

 

Thanks!

Avatar

Community Advisor

Hi @RkR_F5 ],

 

You can find the distance between 2 points by writing code in JS. Please find a related URL here.

 

Hope this helps.

 

Thanks,

Kiran Vedantam

Avatar

Correct answer by
Community Advisor

Hi,

The approximate conversions are:

  • Latitude: 1 deg = 110.574 km
  • Longitude: 1 deg = 111.320*cos(latitude) km

You can use this logic to scan nodes and filter out neraby nodes.



Arun Patidar