=== Advanced Custom Fields: Multiple Coordinates ===

Contributors: jonashjalmarsson, web111se
Tags: acf, google maps, coordinates, map, points
Requires at least: 5.0
Tested up to: 6.9
Requires PHP: 7.0
Stable tag: 1.0.4
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html

A multi-point Google Maps field for Advanced Custom Fields. Click to add markers, drag to reposition, right-click to remove.

== Description ==

A multi-point Google Maps field for Advanced Custom Fields. Click to add markers, drag to reposition, right-click to remove.

The plugin reads your existing Google Maps API key from ACF's global setting (`google_api_key`), so no extra configuration is needed if you already use ACF Map fields. If you don't have one set, you can also provide a key via the `acf_multi_coords_gmaps_key` filter.

Originally inspired by the single-point [ACF: Coordinates](https://wordpress.org/plugins/advanced-custom-fields-coordinates/) field by Stupid Studio; this plugin extends the idea to multiple points per field.

Licensed under the GNU General Public License v3. See `gpl.txt` for details.


== Installation ==

Install this plugin by downloading [the source](https://wordpress.org/plugins/advanced-custom-fields-multiple-coordinates/) and unzipping it into the plugin folder in your WordPress installation. Make sure to also have ACF (Advanced Custom Fields) installed and active.


== Usage ==

When you create a new custom field with ACF, set the field type to **Multiple Coordinates map**. The coordinates chooser will then show up when you edit a post with your custom fields.

The tool adds a point on each click on the map. To remove the point, select the "Remove Coordinate" button and click a point. You can also show the points as a polygon on the map with the "Show area on map" button, and show the actual coordinates in a semicolon-separated list with the "Show coordinates" button. The search field is only there to quickly take you to different places on the map — not to add the actual points.

To get the coordinates data on your frontend, simply request the field value and you get the coordinates in a latitude/longitude array plus the zoom level, like this:

    <?php
    $values = get_field('*****FIELD_NAME*****');
    print_r($values);
    /* gives you something like:
        Array
        (
            [coords] => Array
                (
                    [0] => Array
                        (
                            [lat] => 57.156363766336
                            [lng] => 16.364327427978
                        )
                    [1] => Array
                        (
                            [lat] => 57.159612809986
                            [lng] => 16.370315551758
                        )
                )
            [zoom] => 13
        )
    */
    ?>


== Frequently Asked Questions ==

= How do I get the plugin to show a map on the website? =

By implementing a map on your own. We do not provide a frontend implementation — that is up to you.


== Screenshots ==

1. The plugin in action in the backend.

== Changelog ==

= 1.0.4 =
* Google Maps API key — read from ACF's global `google_api_key` setting (`acf_get_setting`) and a `acf_multi_coords_gmaps_key` filter, so existing ACF users get a working map out of the box. Without a key, Google Maps falls back to limited mode (watermark).
* Cleaned up leftover `console.log` calls in `js/map.js`.

= 1.0.3 =
* Plugin Check compliance: added `License`/`License URI` headers, `ABSPATH` direct-access guard, replaced `<?= ?>` short echo tags with `<?php echo esc_attr() ?>`, added explicit version arguments to `wp_register_style()`/`wp_register_script()`, switched protocol-relative Google Maps URL to `https`.
* Updated Author URI to https://jonashjalmarsson.se.
* Trimmed readme tags to 5.
* Tested up to WordPress 6.9.

= 1.0.2 =
Copy feature added to copy points from one Multiple Coordinates value to another.

1. Press the Copy button, right click on the selection and select Copy.
2. Go to the destination Multiple Coordinates value and press the Copy button, then right click and select Paste.
3. Publish or update the page or post to apply the new points.

= 1.0.1 =

* Bugfix 1. Get lat and lng from Marker via correct API function.
* Bugfix 2. "Show area on map" button toggle now works.
* Optimized init of map when many markers.

= 1.0.0 =

* First release.
