Motivation
- There is currently no turn-key "Store Locator" module available in Drupal.
- GMap and Location modules (Current popular choice for Geospatial tools in Drupal) do not have a recommended release for D7 as of writing this (26 Jan 12)
- GMap/Location's proximity searching requires large database imports of Postal Codes/Zip Codes. See Example #255995: Canadian postal codes for MySQL zipcodes table. This requires constant updates and in many cases this data is not freely available and requires users to purchase these records for thousands of dollars.
- The OpenLayers and related modules provide for the most robust and flexible Geospacial Tools in Drupal)
- To configure a simple "Store Locator" using OpenLayers etc, can be very time-consuming and challenging for new to moderate level users.
Goals
- To provide a turn-key store locator for Drupal- An under-supported, but often sought after feature.
- To utilize the most robust, flexible geosptial tools currently available in Drupal.
- To create a highly customizable store locator that is completely configurable in the User Interface.
Review of Existing Projects
To avoid duplication, a research of existing projects/sandbox projects results in:
http://drupal.org/sandbox/ivan.stegic/1220430
http://drupal.org/sandbox/Beanjammin/1207492
Neither utilize OpenLayers and have not had commits in months.
Current state
This feature package is currently pretty solid. It is in production use on several sites (that have helped in identifying bugs or feature enhancements). There are a few minor issues as noted below. They do not keep the module from being used and only help to enhance the user experience. The current lack of a solid release of the OpenLayers Proximity for Drupal 7 is keeping this module from getting a recommended release. The OpenLayers Proximity module is currently in a sandbox and the maintainer is deciding whether to release the module as the offical 7.x reelase of OPenLayers proximity or move it to a new namespace "Proximity" (as the new version is no longer dependent on OpenLayers).
Known Issues
OpenLayers:
#1062650: How to paginate results using the Views pager?
#950812: Proximity distance field does not hide distances that are 0.00
#1496576: geofield map editing on node add, can't place point marker
OpenLayers Proximity:
#1013450: OpenLayers Proximity port Drupal 7
#1447334: Display nearby nodes based on current node being viewed
Views:
#1418258: Global: Result summary is not exportable.
Comments
Comment #0.0
pixelsweatshop commentedmore additions
Comment #0.1
pixelsweatshop commentedaddressfield issues
Comment #0.2
pixelsweatshop commentedadditions to the structure.
Comment #1
chris_h commentedGreat little package here. Do you know if it's currently possible to extend it to include a block that shows the nearest X nodes by location to the currently viewed node?
Comment #2
pixelsweatshop commentedI think this would be a great feature to add. However this is only a feature package and we are limited by what's available in the current OpenLayers suite of modules. I have opened an issue with the proximity module #1447334: Display nearby nodes based on current node being viewed and have also moved your question to a feature request of this module #1457842: Provide a block to display other locations near current node location being viewed.
Comment #2.0
pixelsweatshop commentedspelling
Comment #3
chris_h commentedYes of course and thanks. I'm not a coder but do let me know if you need any help testing this module in future
Comment #4
bredi commentedyep. you nailed the issue. No easy way to do a store locator, dealer locator, distributor etc. Thank you for identifying this need.
subscribing
Comment #5
dasjohi,
i haven't tried ol_locator yet, but i definitely plan to check it out and therefore would like to ask some questions:
have you considered integrating with Views GeoJSON?
what do you think about a clustering feature in order to handle large amounts of point results within a certain area?
see #1547610: Plan server-side geo clustering for drupal 7
what are your thoughts on integrating with search api location or similar approaches for solr driven searches?
regards dasjo
Comment #6
pixelsweatshop commentedThank you for your suggestions @dasjo. While I think they are very valid, I feel they may be beyond the scope of this feature module. This module is really meant as a basic on-ramp to OL and related modules. It also servers to fill a need for a turn-key store locator that has been missing from the Drupal sphere.
Those that are using Views GeoJSON or are using OL for large amounts of data (i.e. need clustering) or need Solr to work on the backend, would most likely want to build from the ground up. Starting with this feature is really not necessary. Any knowledgeable dev can probably replicate the features in this module in an hour or so.
I am not against adding these features, and if there is enough community interest I would definitely look at it.
The primary goal at this point is to just out a stable release and allow more users to utilize it for their projects (test, bug fixes and feedback). I am waiting on the dust to settle on proximity searching either using http://drupal.org/sandbox/jpstrikesback/1367194 or the 2.x version of Geofield #1469956: [Meta] - Improve Views-powered Geofield proximity searches. Once this has been done, I will look at new features and expanding the project.
Thank you for taking the time to make your suggestions.
Comment #7
giorgio79 commentedLovely stuff :)
One more idea: If user clicks on map and is not a point, set maps center where user clicked and update views results :)
This way user can filter the views not only through textual searches, but the map itself becomes a facet.
Comment #8
pixelsweatshop commentedThank you for your suggestion giorgio79. I would agree this would be a beneficial feature. I will add it to the roadmap. That being said this functionality is currently being worked on in Geofield. See #1496576: geofield map editing on node add, can't place point marker. A patch is supplied there that fixes some of the bugs in placing markers. Also, there needs to be a fix to the Addressfield module that makes it optional. Otherwise it will geocode the country information as it is mandatory. It will utilize the default country, if nothing is selected. See #968112: Allow addressfield to be optional. A patch is also available for testing there.
Comment #8.0
pixelsweatshop commentedanother proximity sue to follow
Comment #8.1
pixelsweatshop commentedadded new issue
Comment #9
pixelsweatshop commentedThe 2.x is out so I will close the 1.x roadmap.