|
Project Information
|
OverviewPurposeStoreFinder is an open source project attempting to provide a quick and easy front end for anyone looking to embed a store locator application on their website. Its goal is to provide an entirely functioning front end leaving the back end data source as the only missing piece to a production-ready application. StoreFinder is designed in a way to support simple customization with bare minimum coding involved. Some examples of customizable features are: - toggle traffic control - toggle driving directions - toggle static map image on initial load - toggle Google bar - custom marker images - custom map dimensions - custom data feed For example, a retail franchise may seek out to install a store locator on their company website to help users find the stores nearest them. However, they do not have resources of a software development team to build a store locator app on their own. Instead, they need an out-of-the-box solution with minimal overhead with launching the app onto their site. StoreFinder would be the perfect solution for them, allowing them to download the source code, tweak its customizable properties, connect it to a data source, and launch it on their site. OverviewThe majority of StoreFinder is built using JavaScript to make the application highly interactive with queries being sent asynchronously in the background. Default marker images are provided in addition to some basic UI components compliments of JQuery. StoreFinder does not come equipped with a built-in solution for hosting location data. However, if location data is hosted behind a server which possesses the ability to respond to incoming spatial queries via HTTP requests with location data, it's easy to link up the StoreFinder front end to it. In the meantime, using a Google Spreadsheet to feed in store locations is ready to use and supported by default. Here's a sample snippet of what the code would look like to insert a StoreFinder application into a webapge: // Create the data feed to use for store locations.
var dataFeed = new SpreadsheetFeed('xxxxxxxxxxxxxxxxxxxxxxx', {
stores: 'od1',
features: 'od2'
});
var storeLocator = new StoreLocator({
dataFeed: dataFeed,
container: document.getElementById('storeContainer'),
size: new GSize(750, 500),
startLatLng: startLatLng,
startZoomLevel: 10,
markerIcons: blueIcons,
storesPerPage: 10,
enableTrafficControl: true,
enableSearchRadiusControl: true,
enableSearchOnMapDrag: true,
enableGoogleBar: true,
useStaticMapImage: false,
useMetricSystem: false,
useExternalMapForDirections: false,
infoWindowSize: new GSize(200, 90),
allowMultipleSearchFilters: true
});
}
|