$fields = array('locatie_voor_verwijslijst','locatie_2','locatie_3'); /* Change the strings alias1, alias2 and alias3 with alias of your Google map fields */
$where = array();
foreach ($fields as $f){
$where[] = '( '.$const.' * acos( cos( radians('.JFactory::getApplication()->input->get($field->alias.'_lat',null,'raw').') ) * cos( radians( b.'.$db->quoteName($f.'_lat').' ) ) * cos( radians( b.'.$db->quoteName($f.'_lng').' ) - radians('.JFactory::getApplication()->input->get($field->alias.'_lng',null,'raw').') ) + sin( radians('.JFactory::getApplication()->input->get($field->alias.'_lat',null,'raw').') ) * sin( radians( b.'.$db->quoteName($f.'_lat').' ) ) ) ) < '.$radius;
}
$query->where('('.implode(' OR ',$where).')');
So do I need to change all the place text fields to Google Maps field?No, from your user list page I can see that you already have a field of type Google Map with alias "locatie_voor_verwijslijst". You should set this field to be searchable in the your search module.
These fields already have values from users, is it possible to change this field type afterwards?No, this is not possible.
$query->where('( '.$const.' * acos( cos( radians('.JFactory::getApplication()->input->get($field->alias.'_lat',null,'raw').') ) * cos( radians( b.'.$db->quoteName($field->alias.'_lat').' ) ) * cos( radians( b.'.$db->quoteName($field->alias.'_lng').' ) - radians('.JFactory::getApplication()->input->get($field->alias.'_lng',null,'raw').') ) + sin( radians('.JFactory::getApplication()->input->get($field->alias.'_lat',null,'raw').') ) * sin( radians( b.'.$db->quoteName($field->alias.'_lat').' ) ) ) ) < '.$radius);
with this $fields = array('alias1','alias2','alias3'); /* Change the strings alias1, alias2 and alias3 with alias of your Google map fields */
$where = array();
foreach ($fields as $f){
$where[] = '(( '.$const.' * acos( cos( radians('.JFactory::getApplication()->input->get($f.'_lat',null,'raw').') ) * cos( radians( b.'.$db->quoteName($f.'_lat').' ) ) * cos( radians( b.'.$db->quoteName($f.'_lng').' ) - radians('.JFactory::getApplication()->input->get($f.'_lng',null,'raw').') ) + sin( radians('.JFactory::getApplication()->input->get($f.'_lat',null,'raw').') ) * sin( radians( b.'.$db->quoteName($f.'_lat').' ) ) ) ) < '.$radius.')';
}
$query->where(implode(' OR ',$where));
Working days: Monday to Friday. The support staff is not available on weekends; in the most of cases tickets will not be answered during that time.
Reply time: Depending on the complexity of your support issue it's usually between a few minutes and 24 hours for paid members and about one week for free members. When we expect longer delays we will notify you.
Before you post: read the documentation and search the forums for an answer to your question.
When you post: include Site Details if you request a support (you can use the form below the reply in Site Details tab).
Auto Solved Question: If after a week the author of the post does not reply to a request by moderator, the question will be marked as resolved.
Language: only English
Easy Profile® is not affiliated with or endorsed by Open Source Matters or the Joomla Project. Joomla is Free Software released under the GNU/GPL License.
Our site uses non fat, delicious cookies which help us improve your user experience. You can read more about it in our Legal page.