Created
August 1, 2014 16:23
-
-
Save darylldoyle/16f2a56faf30ce050fa5 to your computer and use it in GitHub Desktop.
Set zoom level for Advanced Custom Fields map field.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var googleMapsLoaded = false; | |
var timeout; | |
if(googleMapsLoaded === false) { | |
timeout = setInterval("checkVariable()", 500); | |
} | |
function doGoogleMapsHook() { | |
// set current zoom level | |
var currentZoom = parseInt(jQuery('#acf-field-zoom_level').val()); | |
acf.fields.google_map.map.setZoom(currentZoom); | |
// disable scrollwheel zooming | |
acf.fields.google_map.map.setOptions({'scrollwheel': false}); | |
// update zoom level in field on change | |
google.maps.event.addListener( acf.fields.google_map.map, 'zoom_changed', function( e ) { | |
var zoom = acf.fields.google_map.map.zoom; | |
// update input | |
jQuery('#acf-field-zoom_level').val( zoom ); | |
}); | |
} | |
function checkVariable() { | |
if((typeof google !== 'undefined') && (acf.fields.google_map.map)){ | |
googleMapsLoaded = true; | |
clearInterval(timeout); | |
doGoogleMapsHook(); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function jsAdminMaps($hook) { | |
if( 'post.php' != $hook ) | |
return; | |
wp_enqueue_script( 'jsAdminMapsCustom', get_template_directory_uri() . '/js/adminMaps.js', array('jquery'), '0.0.1', true ); | |
} | |
add_action( 'admin_enqueue_scripts', 'jsAdminMaps' ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
For anyone who wants to do it in 2019, the code above doesn't seems to work. Here is a better option I did it with the ACF Javascript API, using the acf.add_action() function, with this hook
google_map_init
.The code will look like: