Distance based search with Google Maps integration

This feature gives you the possibility to search for hits in a certain radius around a given zip or city. The hits may be presented on a map (using Google Maps).

Distance based search with Google Maps integration

System requirements

  • “curl” has to be installed.
  • Activate distance search (see chapter “How to activate the distance search”)
  • Since distance calculation is done within MySQL, it is not possible to use “Sphinx” at the same time.
Note:

Since version 1.7.3 you can disable Sphinx on certain pages in order to use the distance search on these pages and Sphinx on other pages.

Insert this into your page typoscript setup:

ke_search_premium.extconf.override.enableSphinxSearch = 0

Note:
This feature does currently (version 4.0.0) not work together with the boost keywords feature. This will be addressed in future versions.

Configuration

The distance search may be configurated using this typoscript:

plugin.tx_kesearchpremium {
        distancesearch {
                templatepath = EXT:ke_search_premium/Resources/Private/Templates/
                radiusoptions = 10,20,50,100,200
                radiuslabel = km
        }
}

Geocode own content

In order to geocode your own content you will have to create a hook in your own extension and do the geocoding.

Please have a look at the hook modifyAddressIndexEntry (ke_search_premium/Classes/Distancesearch.php) delivered with ke_search_premium.

Notes

  • When the distance search is used, the sorting will be changed to “Distance ascending”. If sorting links were activated in the frontend, these will be hidden.
  • Right now only tt_address records are geocoded automatically and can be used for the distance search. The geocoding is done with the fields address, zip, city and country.