The official FieldType extension for the Gmaps module. Simply modify your Map from within your entry.
Make sure your system meets the minimum requirements:
As of version 3.0.0 of EE, Gmaps for EE2 will not be extended with new features, but only with bugfixes.
Once Gmaps FT is installed, you can add a Gmaps field to the Publish page by following these steps:
When the custom field is created, you can see the Gmaps FT in action on the publish field
From here you can start adding markers, customize markers, search addresses and customize the map settings.
To modify the settings for the Map, you can click in the top right on the 'map settings' button.
To search an address, you can enter an address in the search form. If there is any result, they will be show below the form. From here you can add the address also to the map by clickin the plus sign.
In some situations you mess up your map and you want to reset it. With the refresh map
button, you can
refresh your map to the saved version.
To simply reset/remove all your data on your map, just click the reset map
button
To add a marker, simply right click on the map. Now there will be a menu appear, where you can click on 'Add marker'.
When you added some markers to your map, you can edit the markers by clicking on the edit icon in the top. Please notice that when you hover on the marker button in the top, the marker on the map will bounce so you can see which marker you are editing.
To remove the marker, you can click in the top on the delete icon. Or you can right click on a marker in the gmaps.
To show your created map, you can put your custom field tag inside a {exp:channel:entries}
loop. This
will show your map that you created from within the CP.
{your_custom_field}
To modify the map (like the map style or anything else) you can use the power of the Gmaps module. Simply extend your
tag with some params from the {exp:gmaps:map}
method
{your_custom_field width="100%"}
Please make sure you add the {exp:gmaps:init}
to your template to include the necessary
files
The following tags are filled in from the entry self; map_type
map_types
latlng
marker:icon:url
marker:title
Below are the Tag Variables. Those Variables can be used in the tag described above
Show the latlng of one marker. {your_custom_field:marker:n:latlng}
Show all latlng positions with pipeline`s
{your_custom_field:marker:latlng}
Show the title for one marker
{your_custom_field:marker:n:title}
Show all titles with pipeline`s
{your_custom_field:marker:title}
Show one icon
{your_custom_field:marker:n:icon}
Show all icons with pipeline`s
{your_custom_field:marker:icon}
Show the from latlng for use in the route function
{your_custom_field:route:from}
Show the stops latlng for use in the route function
{your_custom_field:route:stops}
Show the to latlng for use in the route function
{your_custom_field:route:to}
Variable that check if there is any marker set
{gmaps_field_extension:has:markers}
Loop over the Markers
{gmaps_field_extension:markers}...{/gmaps_field_extension:markers}
Generate a {gmaps:add_marker}
code. Place this inside a {exp:gmaps:map}....{/exp:gmaps:map}
to the same marker to a front-end map.
{gmaps_field_extension:markers}{lat}{/gmaps_field_extension:markers}
The lat of the marker
{gmaps_field_extension:markers}{lat}{/gmaps_field_extension:markers}
The lng of the marker
{gmaps_field_extension:markers}{lng}{/gmaps_field_extension:markers}
The title of the marker
{gmaps_field_extension:markers}{title}{/gmaps_field_extension:markers}
The icon of the marker
{gmaps_field_extension:markers}{icon}{/gmaps_field_extension:markers}
The content of the infowindow
{gmaps_field_extension:markers}{content}{/gmaps_field_extension:markers}
Holds the current number, started from 1
{gmaps_field_extension:markers}{count}{/gmaps_field_extension:markers}
Holds the current number, started from 0
{gmaps_field_extension:markers}{abs_count}{/gmaps_field_extension:markers}
Show the total numbers of markers
{gmaps_field_extension:markers}{total_results}{/gmaps_field_extension:markers}
Get the from latlng form the n polyline
{gmaps_field_extension:polyline:1:from}
Get the stops (latlng pipline seperated) from the n polyline to convert it to the route method
{gmaps_field_extension:polyline:1:stops}
Get the to latlng form the n polyline
{gmaps_field_extension:polyline:1:to}
Loop over the polyline positions, where N is the number of the polyline created.
{gmapsfieldtype:polyline[OPTIONAL:1]}
{stroke_color}
{stroke_opacity}
{stroke_weight}
{path}
{lat}, {lng}
{/path}
{/gmapsfieldtype:polyline[OPTIONAL:1]}
Loop over the polygons, where N is the number of the polygon created.
{gmapsfieldtype:polygon[OPTIONAL:1]}
{stroke_color}
{stroke_opacity}
{stroke_weight}
{fill_color}
{fill_opacity}
{path}
{lat}, {lng}
{/path}
{/gmapsfieldtype:polygon[OPTIONAL:1]}
Loop over the circles, where N is the number of the circle created.
{gmapsfieldtype:circle[OPTIONAL:1]}
{stroke_color}
{stroke_opacity}
{stroke_weight}
{fill_color}
{fill_opacity}
{lat}
{lng}
{radius}
{/gmapsfieldtype:circle[OPTIONAL:1]}
Loop over the circles, where N is the number of the circle created.
{gmapsfieldtype:rectangle[OPTIONAL:1]}
{stroke_color}
{stroke_opacity}
{stroke_weight}
{fill_color}
{fill_opacity}
{bounds}
{lng}
{lng}
{/bounds}
{/gmapsfieldtype:rectangle[OPTIONAL:1]}
Get all map variables
{gmapsfieldtype:map}
{map_types}
{map_type}
{zoom_level}
{scroll_wheel}
{zoom_control}
{zoom_control_style}
{zoom_control_position}
{pan_control}
{pan_control_position}
{map_type_control}
{map_type_control_style}
{map_type_control_position}
{street_view_control}
{street_view_control_position}
{google_overlay_html}
{google_overlay_position}
{center}
{/gmapsfieldtype:map}
The Gmap Fieldtype will "almost" perfectly work in combination with the Channel Form (formally SafeCracker). But in some case, when you modify the logic or button, or you use ajax to submit your form, the Gmaps Fieldtype will be a little bit confused.
In that case, there is a JS method availble that push the Gmaps Fieldtype back.
Below are the Tag Parameters. Those parameters can be used in the tag described above
Manually save the settings for the fieldtype.
$('#[ID-OF-YOUR-CHANNEL-FORM] input[type="submit"]').click(function(){
$('.gmap_holder').each(function(){
EE_GMAPS_FT.save_settings($(this));
});
});
The Fieldtype supports the following modules and extension
{exp:gmaps:init}
{exp:channel:entries entry_id="1" dynamic="no"}
{ce_field}
{gmaps_fieldtype}
{value}
{/gmaps_fieldtype}
{/ce_field}
{/exp:channel:entries}
The Gmaps Fieldtype supports all methods of the Entry API.
To import a new data map via the Entry API, you have to use the following data structure.
array('gmaps_field' => array(
'markers' => array(
array(
'lat' =>'52.3909176',
'lng' =>'6.049638',
'title' => 'test',
'icon' => null
)
),
'map' => array(
'map_type' => 'roadmap',
'map_types' => array(
'hybrid',
'roadmap',
'satellite',
'terrain'
)
),
'polylines' => array(),
'polygons' => array(),
));
At the moment it is not possible to use enters in your custom field like below;
{custom_field
param1=""
param2=""
param3=""
}
Instead of that you have to use it the following way;
{custom_field param1="" param2="" param3=""}
See also http://expressionengine.stackexchange.com/questions/10726/custom-field-with-params-and-enters or https://support.ellislab.com/bugs/detail/19434
(added in v3.0.8)
ee()->extensions->call('gmaps_fieldtype_save_data', $data, $entry_id, $field_id);
{add_marker}
tag to the {gmaps_fieldtype:markers}
tag pair to generate a {gmaps:add_marker}
code.
{exp:gmaps:init}
by yourself now!
{exp:gmaps:map}
are available to the fieldtagpolygons
polylines
circles
rectangles
[EE2 last time]
polygons
polylines
circles
rectangles
field_name