Map
The map field provides a Google-powered map with an address search field.
The field stores several pieces of related information:
Atribute | Description | Value Type | Value |
---|---|---|---|
'value' |
Latitude & Longitude | (string) |
40.74866,-73.97982 |
'lat' |
Latitude | (float) |
40.74866 |
'lng' |
Longitude | (float) |
-73.97982 |
'address' |
Address | (string) |
45 Park Avenue, New York, NY 10016 |
'zoom' |
Zoom level | (int) |
8 |
Google Maps API Key setup
As of June 22, 2016, Google requires users to generate an API key in order to use the Maps API: https://developers.google.com/maps/pricing-and-plans/standard-plan-2016-update
You can get your API key here: https://developers.google.com/maps/documentation/javascript/get-api-key
Once you’re ready with the process of generating a key, you’ll need to provide the key to Carbon Fields through a filter:
add_filter( 'carbon_fields_map_field_api_key', 'crb_get_gmaps_api_key' );
function crb_get_gmaps_api_key( $current_key ) {
return 'your key goes here';
}
Config methods
set_position( $lat, $lng, $zoom )
Set the default position on the map specified by $lat
and $lng
and the default zoom level to $zoom
(zoom 0
corresponds to a map of the Earth fully zoomed out).
Field::make( 'map', 'crb_company_location', 'Location' )
->set_help_text( 'drag and drop the pin on the map to select location' )
Usage
To get all the location data as an array, you can use the map
type in the retrieval functions. Example:
/* Get the location data */
carbon_get_post_meta( $id, $name ); // array( 'value' => '40.74866,-73.97982', lat' => 40.74866, 'lng' => -73.97982, 'address' => '45 Park Avenue, New York, NY 10016', 'zoom' => 8)
Value Format
array(
'value': '40.346544,-101.645507',
'lat': 40.346544,
'lng': -101.645507,
'zoom': 10,
'address': 'New York',
)