Edit a Layer
In the previous Register a layer section, we came across several mandatory fields that are needed in layer creation. In this section, we will have a look at the rest fields and how to customize a layer using these fields.
To edit a layer (we will take layer "firsttutorialxuan" with Layar Vision enabled as an example), click on "Edit" button for this layer to open the layer editing page (see screenshot below).

In total, there are 8 tabs:
- General - The basic information about this layer, such as layer status.
- API endpoint - Mainly the POI URL for developer's web service that provides hotspots response.
- Listing & Indexing - Mainly Layer listing on the phone.
- Look & Feel - Manage the appearance of the Camera view on the phone.
- Coverage - Define layer country region and set up bounding box for local layers.
- Filters- Set up filter settings for a layer.
- Permissions- Assign different publisher and add viewers to a layer.
- Reference Images- Upload and manage reference images to Layar server. This tab is not visible, if "Layar Vision" is not enabled.
General tab
In screenshot below, basic information about this layer is provided, such as layer status and layer developer / publisher emails. Again, layer type can be changed here. NOTE that Once Layar Vision is enabled, this will also change the Layer type to 3D and 2D objects in 3D spaces and the Minimum API version to version 6.0 automatically after the settings are saved.
API endpoint tab

As we can see that API endpoint URL (which was defined when this layer was created) can be modified here.
Since Layar client 5.0 release, it is possible for users to upload screenshots taken from the camera view directly to layer developer's web server. This can be defined under Hosted screenshots section. The detailed description of each field can be found below:
| Fields | Required/Default | Definition |
| URL to post screenshots to | Optional (mandatory when this function is used) |
The URL of your website where end users can post screenshots to. If this is filled out, and a user selects to share a screenshot with this option, an HTTP post (encoded as multipart/form-data) will be sent to this URL containing parameters:
|
| Button text | Optional (mandatory when this function is used) | The text shown when the user chooses to share the screenshot. |
For more information on how to implement this sharing feature, please read the "share a screenshot to a developer defined URL" section on Howto-sharing a screenshot to a developer defined URL.
If you want to check genuine requests from layar, OAuth signature can be used. Detailed definition for OAuth signing is provided in the following table:
| Fields | Required/Default Value |
Definition |
| OAuth signing requried | Optional/false | Whether or not the Layar Server should sign requests using OAuth signing |
| OAuth consumer key | Optional (mandatory when OAuth signing is required) | The OAuth Consumer key to be used when signing |
| OAuth consumer secret | Optional (mandatory when OAuth signing is required) | The OAuth Consumer secret to be used when signing |
Listing & indexing tab
- Listing, fields related to layer listing in layar application on the phone are discussed here.

As we can see that "Title" and "Short description" fields (which were defined when this layer was created) can be modified here.
| Fields | Required/ Default Value |
Definition | Tooltips |
| layer icon | high-res icon is mandatory(while requesting for publication) | The icon to be used in the list of layers in the Layer Gallery. It is possible to have this icon (in PNG format) in different resolutions, high-res (128X128), medium-res (96X96) and low-res (64X64). |
|
| layer Screenshot | Optional | A screenshot which will be shown below the detail description text on layer listing page. | size 480x320 px |
| Category | Mandatory(while requesting for publication) | A list of categories that a layer belong to. | Please assign your layer to the right category. This will make sure that users can find your layers using Categories section in Layar app on the phone. |
| Detail description | Mandatory(while requesting for publication) | Some text that will further describe what this layer is about and how to use it and where hotspots are located, etc. |
|
| Tags | Mandatory/at least 1 tag | A list of words describing the layer. A maximum of 15 words is supported. Note that the words in the layer title and publisher name are automatically added to the tag list. |
|
To get an idea on how these fields fit in layar application on the phone, please see the screenshot below:

- Indexing, fields related to layer indexing in layar application on the phone are discussed here.

| Fields | Required/ DefaultValue |
Definition | Tooltips |
| Minimum API version | Mandatory / version 3.0 | The earliest API version that supports all the required features in your layer. This ensures your layer will be found and working well on Layar clients that have the same or newer version. For instance, if your layer relies heavily on POI actions using asynchronous requests with your server, the minimum API version should be v4.0. Your layer will be shown on Layar clients which support API version 4.0 or above. NOTE: if Layar Vision is enabled, the minimum API version should be 6.0. | Please note that backward compatibility is best effort: The layar server will remove fields that are not defined/supported from the response, which may lead to unintended behaviour on older clients. |
Look & Feel

- General
| Fields | Required/Default Value |
Definition | Tooltips |
| Banner Icon | Required (High-res icon) | The icon (in PNG format) to use in the banner for branding the layer. The high-res icon is required. | The high-res icon will also generate a scaled down version of medium-res and low-res. Optionally, you can upload your own medium-res and low-res icons. |
| color fields | Optional | All color fields that will affect the layer appearance in Camera view (see screenshot below) | Test them on the phone to see whether they look nice. |
- Custom POI Indicator Widgets (CIW)
By default, hotspots in camera view are represented by black disks. Instead of this default disk shape, developers are able to specify custom CIWs.
Each CIW set has four states:
- Focus: when it is selected
- Inner: when it is located in the inner (closest) ring of the radar
- Middle: when it is located in the middle ring of the radar
- Outer: when it is located in the outer ring of the radar
The custom CIW object is returned as:
| Fields | Value | Required/Default Value |
Explanation |
| POI Type | Integer (1..3) | Optional/Empty | An integer identifying the POI type. When the client needs to display a POI with this type, it will use the custom icons defined with this CIW. |
| Focus | PNG | Optional/Empty | The icon for the focus state. 110x110 pixels. If you leave empty, the client will display the standard colored disk. |
| Inner | PNG | Optional/Empty | The icon for the inner, unfocused state. 110x110 pixels. If you leave empty, the client will display the standard colored disk. |
| Middle | PNG | Optional/Empty | The icon for the middle, unfocused state. 76x76 pixels. If you leave empty, the client will display the standard colored disk. |
| Outer | PNG | Optional/Empty | The icon for the outer, unfocused state. 56x56 pixels. If you leave empty, the client will display the standard colored disk. |
Instructions for making a good custom CIW:
Your icon should be build in the following way in order to stand out regardless of the background the camera is pointing at:
- Make a clear icon, preferably plain color, that fits in a 1.) 90x90 pixels box for the focus and inner icons, 2.) 60x60 pixels or 3.) 40x40 pixels, respectively, for the middle and outer icons.
- These transparent icons fit in their respective templates: 1.) 110x110, 2.) 76x76, 3.) 56x56
- Add a two pixels white border around the icon.
- Add an eight pixels black drop shadow, at 40% opacity
Some guidelines:
- For the focus icon, use a color that matches your BIW, this is more pleasing to the eye
- For the inner, middle and outer icons, use three colors with the same base color, fading to lighter colors for the icons further away. This gives a more realistic image.
The following screenshot shows how these fields are applied in Layar application on the phone.

Coverage

| Fields | Required/ DefaultValue |
Definition | Tooltips |
| Countries | Mandatory (while requesting for publication) | The country for which the layer is relevant, ISO format. |
|
| Bounding Boxes | Optional/Empty | The layer should be made "local" if all (or most of) its Spots are clustered in one city/region. You can make your layer local by defining one or more bounding boxes. This will make your layer more visible to users because it shows up in the nearby tab of the client if a user is in this particular area |
|
Filters
There are five different filters that can be associated with each layer. The values of each filter will be sent in the request for hotspots. They are all optional. The screenshot below shows two of the filters (Range Slider and Textbox).

The detailed definition of each filter is listed below:
- Text box: limited to 3 text boxes per layer
| Fields | Required/Default Value |
Example | Explanation |
| Label | Mandatory | "Search terms" | The label to be displayed in the filter settings view |
| Default value | Optional / Empty | "" | Default value to display and use in the search box |
- Slider: limited to 3 sliders per layer
| Fields | Required/Default Value |
Value | Example | Explanation |
| Label | Mandatory | String | "Max price" | The label to be displayed on top of the slider |
| Label Unit | Mandatory | String | "\u20ac" | The unit to be associated with the label, unicode supported (here e.g. €) |
| Max value | Mandatory / 0 | Integer | 2000000 | The maximum value of the slider |
| Min value | Mandatory / 0 | Integer | 10000 | The minimum value of the slider |
| Default value | Mandatory / 0 | Integer | 500000 | The default value of the slider |
- Range Slider: Limited to 1 range slider per layer
| Fields | Required/Default Value |
Value | Example | Explanation |
| Label | Mandatory | String | "Max price" | The label to be displayed on top of the slider |
| Label Unit | Mandatory | String | "\u20ac" | The unit to be associated with the label, unicode supported (here e.g. €) |
| Max value | Mandatory / 0 | Integer | 2000000 | The maximum value of the slider |
| Min value | Mandatory / 0 | Integer | 10000 | The minimum value of the slider |
| Default value | Mandatory / 0 | Integer | 500000 | The default value of the slider |
- RadioButton List: Limited to 1 RadioButton list per layer
| Fields | Required/Default Value |
Value | Example | Explanation |
| label | Mandatory / Empty | String | "Choose industry" | The label to be displayed above the radio list |
|
options: Value |
Mandatory / Empty |
Array of Strings | ["1000", "1001", "1002"] | These are the internal values used to define the various options. This value is passed as parameter in the query for the POI's. |
|
options: Display Text |
Mandatory / Empty | Array of Strings | ["all industries", "administrative", "commercial"] | The are the values shown to the user, each corresponding to one option value. |
|
options: Default |
Mandatory / Empty | String | "1000" | The value that is selected by default |
- Checkbox List: Limited to 1 Checkbox list per layer
| Fields | Required/Default Value |
Value | Example | Explanation |
| label | Mandatory / Empty | String | "Choose industry" | The label to be displayed above the radio list |
|
options: Value |
Mandatory / Empty |
Array of Strings | ["1000", "1001", "1002"] | These are the internal values used to define the various options. This value is passed as parameter in the query for the POI's. |
|
options: Display Text |
Mandatory / Empty | Array of Strings | ["all industries", "administrative", "commercial"] | The are the values shown to the user, each corresponding to one option value. |
|
options: Default |
Mandatory / Empty | Array of Strings | ["1000", "1001"] | The values that ares selected by default |
All these filter settings will appear in the layer settings page in Layar application on the phone. If "Show filters before loading layer" is checked, this layer settings page will always appear before camera view is shown. The following image shows how these filters look like on Layar client.

Permissions
Under "Permissions" tab, publisher name which was defined while layer creation can be edited. At the same time, the ownership of a layer can be transferred from current publisher to another publisher. Developer can also add a viewer for a layer so that this viewer can see this layer on Layar client even it is still in development.

- Assign new publisher
By default, the layer developer is also the publisher of this layer. The ownership of this layer can be transferred to another publisher by following the steps below:
- Click on "Assign new publisher" button.
- Fill in the email address of this new publisher.
- An email is sent to this email address to notify this publisher on his role and assignment. Meanwhile, it explains what this publisher needs to do in order to see this layer in the publishing site environment.
- Add viewer
By adding viewers to a layer, other people can see this layer on Layar client even it is not in public status. This is especially useful when you want to show it to other people, such as project clients. To Add a viewer:
- Click on "Add viewer" button.
- Fill in the email address of this viewer.
- An email is sent to this viewer to notify him/her on this assignment.
- If this viewer already has a Layar account (with the same email address), he/she can directly start viewing your layer on Layar client after logging in.
- If not, he will then need to create a Layar account on layar website (www.layar.com) first in order to see this layer on layar client.
Reference images
For Vision enabled layers, reference images can be uploaded and maintained here.
For the uploaded reference image, the following information needs to be provided:
| Fields | Description | Requirement (Best Practices) |
| Image | The image itself that is uploaded from your computer | Image resolution must be at least 640 x 480 pixels, though larger images are accepted and encouraged. Supported file types include .JPG, .PNG, and .GIF. File size may not exceed 10MB. |
| Image key | The key that is used to identify a reference image. It is the value of "referenceImage" defined in "anchor" object of a POI in getPOI response. | The image key is a quick way to identify your images. It has to be unique for a layer. We recommend using a personalized, easily remembered key.
NOTE: After you create an Image Key, the image will be processed by our server and you will not be able to edit it. To change the image or its key, you must delete the original and upload a replacement. |
| Real World Height | How high is your image in the real world in meters? | Fill in the real height of the target object that you want to augment. This determines how the unit length of the coordinate system is scaled with respect to the target object. So it will determine the size of the augment with respect to the target object and the lengths when "transform" or "animation" are applied to the augment. |
Once a reference image is uploaded, the legend below is used to show ratings assigned by Layar server based on the quality and clarity of images and their ability to be used for Layar Vision.

- GREEN - Green means the image is good to go. It should function properly with Layar Vision.
- YELLOW - Yellow means the image will function properly under certain conditions, but we recommend that a better image is used. Try boosting contrast or increasing brightness to improve the image’s clarity and definition.
- RED - Red means the image will most certainly not function properly under most conditions. Make sure images are focused with high contrast, definition and brightness. If you need more help making a good image, see our .
Additional Settings
Under this tab, some more layer level settings can be configured to support complex mechanisms in a layer.

Explanations for each field can be found in the table below:
|
Key |
Required/Default |
Example |
Explanation |
| Show 'Take me there' | Optional / true | checked or unchecked | If it is checked (true), a "take me there" button will be shown as an action in the Spots Detailed BIW. This button will launch Google Maps, which shows the Spots location on the map. If it is not checked (false), this button is not shown. This option is based on a layer level. |
| Enable additional settings | Optional / false | checked or unchecked | If checked (true), the additional layer settings listed below will be enabled |
|
valid cookie required |
Optional / false |
false (by default) |
Indicates whether valid cookie(s) is required prior to launching the layer. If it is checked (true), the Client will firstly check whether there is a cookie, if not, it will redirect the user to the page defined in "URL for layer settings page". |
| URL for layer settings page | Required when 'Enable additional settings' is checked | https://m.hyves.nl/layar/signin | The URL to call for the webview to authenticate the user. Usually https. NOTE that this URL needs to be on the same domain as the poiURL (it's just a cookie we're using, so all normal browser cookie rules apply), different sub domains are allowed. |
|
Description for button |
Required when 'Enable additional settings' is checked | User Authentication | A description is shown on top of the button which explains what this button is about. |
|
Button label |
Required when 'Enable additional settings' is checked | login | The text that is displayed on the button itself. |
| Replace filters | Optional / false | unchecked | Indicates whether the web page launched by 'URL for layer settings page' will replace the entire filter settings defined under "Filters" tab. If it is checked (true), the web page content will appear under the filter settings button in the camera view. By default, it is unchecked (false). |
| Parameters added in request | Optional / Empty | https://custom.layar.nl/login.php?
lon=4.933156943889342& lat=52.373196116536235 |
A group of preset parameters that can be added to the request when the button is clicked. The possible multiple values are "latitude", "longitude", "country code", "accuracy", "language", "API version". |
The button which has these additional settings enabled can be found on the layer filter settings page in Camera view on layar client.

This is the end of layer editing section. Please do not forget to save changes made to layer editing. You will probably come back to this section from time to time to configure the best options for your layer.