GSOC: Week #4 Update on geospatial search

As I mentioned on my project proposal, I promised to contribute not only for search API location module, but also any other modules related to my proposal i.e to make drupal users have experience a great geo spatial search. If you see my previous post, for the time being I had to remove geocoder plugin as search api location plugins were not visible. This week I tried to play with geocoder module, and submitted a patch here . Now Geocoder is working for me. 

As well as this week I fixed an error of search api location views filter plugin shown below and pushed the code to github.

Notice: Array to string conversion in Drupal\views\Plugin\views\filter\FilterPluginBase->adminSummary() (line 171 of C:\xampp\htdocs\dj_drupal_gsoc\core\modules\views\src\Plugin\views\filter\FilterPluginBase.php) #0 C:\xampp\htdocs\dj_drupal_gsoc\core\includes\bootstrap.inc(552): _drupal_error_handler_real(8, 'Array to string...', 'C:\\xampp\\htdocs...', 171, Array) #1 C:\xampp\htdocs\dj_drupal_gsoc\core\modules\views\src\Plugin\views\filter\FilterPluginBase.php(171): _drupal_error_handler(8, 'Array to string...', 'C:\\xampp\\htdocs...', 171, Array) #2 C:\xampp\htdocs\dj_drupal_gsoc\core\modules\views_ui\src\ViewEditForm.php(1068): Drupal\views\Plugin\views\filter\FilterPluginBase->adminSummary() #3 C:\xampp\htdocs\dj_drupal_gsoc\core\modules\views_ui\src\ViewEditForm.php(566): Drupal\views_ui\ViewEditForm->getFormBucket(Object(Drupal\views_ui\ViewUI), 'filter', Array) #4 C:\xampp\htdocs\dj_drupal_gsoc\core\modules\views_ui\src\ViewEditForm.php(359): Drupal\views_ui\ViewEditForm->getDisplayDetails(Object(Drupal\views_ui\ViewUI), Array) #5 C:\xampp\htdocs\dj_drupal_gsoc\core\modules\views_ui\src\ViewEditForm.php(189): Drupal\views_ui\ViewEditForm->getDisplayTab(Object(Drupal\views_ui\ViewUI)) #6 C:\xampp\htdocs\dj_drupal_gsoc\core\lib\Drupal\Core\Entity\EntityForm.php(115): Drupal\views_ui\ViewEditForm->form(Array, Object(Drupal\Core\Form\FormState)) #7 C:\xampp\htdocs\dj_drupal_gsoc\core\modules\views_ui\src\ViewFormBase.php(41): Drupal\Core\Entity\EntityForm->buildForm(Array, Object(Drupal\Core\Form\FormState)) #8 [internal function]: Drupal\views_ui\ViewFormBase->buildForm(Array, Object(Drupal\Core\Form\FormState)) #9 C:\xampp\htdocs\dj_drupal_gsoc\core\lib\Drupal\Core\Form\FormBuilder.php(514): call_user_func_array(Array, Array) #10 C:\xampp\htdocs\dj_drupal_gsoc\core\lib\Drupal\Core\Form\FormBuilder.php(271): Drupal\Core\Form\FormBuilder->retrieveForm('view_edit_form', Object(Drupal\Core\Form\FormState)) #11 C:\xampp\htdocs\dj_drupal_gsoc\core\lib\Drupal\Core\Entity\EntityFormBuilder.php(48): Drupal\Core\Form\FormBuilder->buildForm('view_edit_form', Object(Drupal\Core\Form\FormState)) #12 C:\xampp\htdocs\dj_drupal_gsoc\core\modules\views_ui\src\Controller\ViewsUIController.php(226): Drupal\Core\Entity\EntityFormBuilder->getForm(Object(Drupal\views_ui\ViewUI), 'edit', Array) #13 [internal function]: Drupal\views_ui\Controller\ViewsUIController->edit(Object(Drupal\views_ui\ViewUI), NULL) #14 C:\xampp\htdocs\dj_drupal_gsoc\core\lib\Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array) #15 C:\xampp\htdocs\dj_drupal_gsoc\core\lib\Drupal\Core\Render\Renderer.php(574): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() #16 C:\xampp\htdocs\dj_drupal_gsoc\core\lib\Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure)) #17 C:\xampp\htdocs\dj_drupal_gsoc\core\lib\Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) #18 [internal function]: Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() #19 C:\xampp\htdocs\dj_drupal_gsoc\vendor\symfony\http-kernel\HttpKernel.php(144): call_user_func_array(Object(Closure), Array) #20 C:\xampp\htdocs\dj_drupal_gsoc\vendor\symfony\http-kernel\HttpKernel.php(64): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1) #21 C:\xampp\htdocs\dj_drupal_gsoc\core\lib\Drupal\Core\StackMiddleware\Session.php(57): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #22 C:\xampp\htdocs\dj_drupal_gsoc\core\lib\Drupal\Core\StackMiddleware\KernelPreHandle.php(47): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #23 C:\xampp\htdocs\dj_drupal_gsoc\core\modules\page_cache\src\StackMiddleware\PageCache.php(99): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #24 C:\xampp\htdocs\dj_drupal_gsoc\core\modules\page_cache\src\StackMiddleware\PageCache.php(78): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true) #25 C:\xampp\htdocs\dj_drupal_gsoc\core\lib\Drupal\Core\StackMiddleware\ReverseProxyMiddleware.php(47): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #26 C:\xampp\htdocs\dj_drupal_gsoc\core\lib\Drupal\Core\StackMiddleware\NegotiationMiddleware.php(50): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #27 C:\xampp\htdocs\dj_drupal_gsoc\vendor\stack\builder\src\Stack\StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #28 C:\xampp\htdocs\dj_drupal_gsoc\core\lib\Drupal\Core\DrupalKernel.php(656): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #29 C:\xampp\htdocs\dj_drupal_gsoc\index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request)) #30 {main}.

In the next week I will be hacking search api location views filter plugin. And try to make it work with  raw location input plugin. Stay tuned for the next weeks updates. Thank you.