After you have added all your Locations to our WebService, we will give your the PERSONAL-REST-AUTH-TOKEN. Copy this to the Snippet below an you can start with the default Configuration an Layout. Make sure that this Code-Block is before the includes AngularJS Files.

<script type="text/javascript">
var $locationApp = {
    api_token:     'PERSONAL-REST-AUTH-TOKEN',
    region:        'de', // Search Start Country for Google
};
</script>

Map Reloads

With this Option you can say the Map, that it has check the map for refresh. It will mean if you change the country, all old marker's will be removed an the news one will be loaded. These option will be necessary for handle the country borders.

    map_refresh:    true, // Rerefesh Map Marker if Location has changed to dieferent country

Customize the Layout

With this Plugin you have different ways the Result looks like, please take a look to our DEMO You can select multiple map sizes (16:9, 4:3, full, Media-Querys) for Larger Displays Tablet and above.

  full_xs:        true, // Full Map Size on Mobile Device
  map_size:       false, // Map Size ('16:9'; '4:3'; 'full'; false)

Headmaps

If you have a lot of marker's on your map, we will put it together to an heatmap, to modify this icon you can change this parameter and replace the default icons with your one.

  map_cluster_image_path: 'https://raw.githubusercontent.com/googlemaps/js-marker-clusterer/gh-pages/images/m', // m1-5.png

Notice: The file Name need to be

m1.png m1

m2.png m2

m3.png m3

m4.png m4

m5.png m5

Colorize your map

If you want to style your map. You can do it with the magic of google's map styler. After you have colorized your map click the Shop JSON button and copy that JSON-string to the config.

  map_style: [
        {
          "stylers": [
            { "hue": "#005eff" }
          ]
        }
      ],

The Overlay Layout

If you use jQuery in your Project and want to use the overlay Template, you can include some dependencies Make Sure jQuery is integrated before.

Then you can configure the Scrollbar of the result list. We do it by using jQuery custom content scroller

  result_over:    true, // Display Search/Results over the map
    scrollBars: {
        theme: 'minimal-dark',
    }

Add your Own Template Files

If you want create your own template-Files hold the Folder structure of the views folder.

├── views/
|    ├── infoWindow.html
|    ├── location.html
|    ├── map.html
|    ├── result.html
|    ├── search.html

Set the Base-URL to the Views Parent folder in the $locationApp config.

  template_base:     'CUSTOM-TEMPLATE-DIR',

Note: that the Script will look into your CUSTOM-TEMPLATE-DIR for the views folder.

Multilanguage

With the Own Templates engine you can create translation for every needed language.

For Example you use German and Englisch: Copy the views folder to an Subfolder called de and repeat it for en.

Now make all your translation an take care that your $locationApp config is modified in each language.

German:

template_base: $url+'/de'

Englisch:

template_base: $url+'/en'

Now you have the Translation for all your languages.

Extend Result Filtering

Some time it can be important to extend the filtering to find special offers which only have an limited locations. If you want the take a look into the Extend Filter - Demo.

To use this you have to modify the Templates,

View Templates

First edit views/result.html for displaying that flags.

<div class="haendlericons">
    <span *ngIf="standort.standort_info.indexOf('SEARCH_NAME1') !== -1" class="" >
        Flag 1 / some HTML
    </span>
    <span *ngIf="standort.standort_info.indexOf('SEARCH_NAME2') !== -1" class="" >
        Flag 2 / some HTML
    </span>
</div>

After that lets create the the Checkboxes views/search.html

<div class="checkbox" style="background-color:red">
    <label>
        <input type="checkbox" (ngModelChange)="onSubmit()" [(ngModel)]="filter['SEARCH_NAME1']"/>
        Flag 1
    </label>
</div>
<div class="checkbox" style="background-color:yellow">
    <label>
        <input type="checkbox" (ngModelChange)="onSubmit()" [(ngModel)]="filter['SEARCH_NAME2']"/>
        Flag 2
    </label>
</div>

WebService

and last one go to our WebService and modify your Locations and extend the Information Field with the params: SEARCH_NAME1, SEARCH_NAME2