Note: New Google Maps Editor version for Optimizely CMS 12 is available.
Update to the latest version
As of version 1.0.12 of the Episerver Google Maps add-on (available through the Episerver NuGet feed) it is possible to customize the editor using custom property settings. Note that this version requires Episerver CMS 11.
This allows you to set which API key to use for the Google Maps JavaScript API, and also allows you to set the default zoom level and coordinates for when there is no property value set.
Change Google Maps editor settings
The easiest way to override the default settings is to create your own editor descriptor:
[EditorDescriptorRegistration(TargetType = typeof(IGoogleMapsCoordinates), UIHint = UIHint, EditorDescriptorBehavior = EditorDescriptorBehavior.OverrideDefault)]
[EditorDescriptorRegistration(TargetType = typeof(string), UIHint = UIHint, EditorDescriptorBehavior = EditorDescriptorBehavior.OverrideDefault)]
public class CustomGoogleMapsEditorDescriptor : GoogleMapsEditorDescriptorBase
{
public override void ModifyMetadata(ExtendedMetadata metadata, IEnumerable<Attribute> attributes)
{
base.ModifyMetadata(metadata, attributes);
// API key for the Google Maps JavaScript API
metadata.EditorConfiguration["apiKey"] = "your-api-key";
// Default zoom level from 1 (least) to 20 (most)
metadata.EditorConfiguration["defaultZoom"] = 5;
// Default coordinates when no property value is set
metadata.EditorConfiguration["defaultCoordinates"] = new { latitude = 59.336, longitude = 18.063 };
}
}
Fun fact
If you don't change the default coordinates, the editor will default to the coordinates of our office (or our old office, if you're on an older version of the add-on).
Questions or suggestions?
Feel free to post any questions and suggestions in the comments!