コード例 #1
0
/**
 * Displays the map
 *
 * @access      private
 * @since       1.0
 * @return      void
*/
function pw_map_shortcode($atts)
{
    $atts = shortcode_atts(array('address' => false, 'width' => '100%', 'height' => '400px', 'enablescrollwheel' => 'true', 'zoom' => 15, 'disablecontrols' => 'false'), $atts);
    $address = $atts['address'];
    if ($address) {
        if ($address && wp_script_is('google-maps-api', 'registered')) {
            wp_print_scripts('google-maps-api');
            $coordinates = pw_map_get_coordinates($address);
            if (!is_array($coordinates)) {
                return;
            }
            $map_id = uniqid('pw_map_');
            // generate a unique ID for this map
            ob_start();
            ?>
		<div class="pw_map_canvas" id="<?php 
            echo esc_attr($map_id);
            ?>
" style="height: <?php 
            echo esc_attr($atts['height']);
            ?>
; width: <?php 
            echo esc_attr($atts['width']);
            ?>
"></div>
	    <script type="text/javascript">
			var map_<?php 
            echo $map_id;
            ?>
;
			function pw_run_map_<?php 
            echo $map_id;
            ?>
(){
				var location = new google.maps.LatLng("<?php 
            echo $coordinates['lat'];
            ?>
", "<?php 
            echo $coordinates['lng'];
            ?>
");
				var map_options = {
					zoom: <?php 
            echo $atts['zoom'];
            ?>
,
					center: location,
					scrollwheel: <?php 
            echo 'true' === strtolower($atts['enablescrollwheel']) ? '1' : '0';
            ?>
,
					disableDefaultUI: <?php 
            echo 'true' === strtolower($atts['disablecontrols']) ? '1' : '0';
            ?>
,
					mapTypeId: google.maps.MapTypeId.ROADMAP
				}
				map_<?php 
            echo $map_id;
            ?>
 = new google.maps.Map(document.getElementById("<?php 
            echo $map_id;
            ?>
"), map_options);
				var marker = new google.maps.Marker({
				position: location,
				map: map_<?php 
            echo $map_id;
            ?>
				});
			}
			pw_run_map_<?php 
            echo $map_id;
            ?>
();
		</script>
		<?php 
            return ob_get_clean();
        } else {
            return __('This Google Map cannot be loaded because the maps API does not appear to be loaded', 'simple-google-maps-short-code');
        }
    }
}
コード例 #2
0
/**
 * Displays the map
 *
 * @access      private
 * @since       1.0
 * @return      void
*/
function pw_map_shortcode($atts)
{
    $atts = shortcode_atts(array('address' => false, 'width' => '100%', 'height' => '400px'), $atts);
    $address = $atts['address'];
    if ($address) {
        wp_print_scripts('google-maps-api');
        $coordinates = pw_map_get_coordinates($address);
        if (!is_array($coordinates)) {
            return;
        }
        $map_id = uniqid('pw_map_');
        // generate a unique ID for this map
        ob_start();
        ?>
		<div class="pw_map_canvas" id="<?php 
        echo esc_attr($map_id);
        ?>
" style="height: <?php 
        echo esc_attr($atts['height']);
        ?>
; width: <?php 
        echo esc_attr($atts['width']);
        ?>
"></div>
	    <script type="text/javascript">
			var map_<?php 
        echo $map_id;
        ?>
;
			function pw_run_map_<?php 
        echo $map_id;
        ?>
(){
				var location = new google.maps.LatLng("<?php 
        echo $coordinates['lat'];
        ?>
", "<?php 
        echo $coordinates['lng'];
        ?>
");
				var map_options = {
					zoom: 15,
					center: location,
					mapTypeId: google.maps.MapTypeId.ROADMAP
				}
				map_<?php 
        echo $map_id;
        ?>
 = new google.maps.Map(document.getElementById("<?php 
        echo $map_id;
        ?>
"), map_options);
				var marker = new google.maps.Marker({
				position: location,
				map: map_<?php 
        echo $map_id;
        ?>
				});
			}
			pw_run_map_<?php 
        echo $map_id;
        ?>
();
		</script>
		<?php 
    }
    return ob_get_clean();
}