通过Java脚本for Google Maps API从Custom Post中提取地址

时间:2012-09-17 作者:AME

我创建了一个带有自定义帖子的主题,并将其输出到带有位置标记的谷歌地图。用户将创建一个自定义贴子用户,并包括街道地址,这些地址将使用谷歌地图API v3进行地理编码,并在谷歌地图上放置一个标记。

我对自定义Wordpress主题的编码和设计相对较新,因此我正在尝试用javascript为Google Maps API从每个自定义帖子中获取信息。

有人能解释一下这是怎么做到的吗?

谢谢,AME

1 个回复
最合适的回答,由SO网友:xsonic 整理而成

嗯,这有点容易。。

google map API需要如下格式Your Street 123, 54321 Your City

假设您有如下数据:

<div id="street">Your Street 123</div>
<div id="zip">54321</div>
<div id="city">Your City</div>
假设您使用的是jQuery:

(function($){
    $.fn.create_gmap_address = function() {

        var street = $(\'#street\').html();
        var zip = $(\'#zip\').html();
        var city = $(\'#city\').html();

        return street + \',\' + zip + \' \' + city;
    }
})(jQuery);
然后在地图API代码中:

geocoder.geocode( { \'address\': $.create_gmap_address() }, function(results, status) {
    // your maps code

Solution 2

当然,您也可以通过php获取所有这些数据,然后将其存储到全局JS变量中(也许是更好的方法)。

function set_address_js_var() {
    if ( \'your_post_type\' == get_post_type() ) {
        // Assuming you are using meta fields to store the address
        $postMeta = get_post_meta(get_the_ID());
        return $postMeta[\'sreet\'] . \',\' . $postMeta[\'zip\'] . \' \' . $postMeta[\'city\'];
    }
}
function load_fe_scripts() {
    wp_enqueue_script( \'global-js-var\', get_template_directory_uri() . \'/js/my_file.js\' );
    $localize_array = array(
        \'google_maps_address\' => set_address_js_var()
    );
    wp_localize_script( \'global-js-var\', \'my_global\', $localize_array );
}
add_action(\'wp_enqueue_scripts\', \'load_fe_scripts\');
现在,您可以通过my\\u global访问JS文件中的var。google\\u maps\\u地址

结束

相关推荐

Localiztion in javascript

Wordpress当前使用gettext 中提供的功能php 但不幸的是不在Javascript.<我在网上搜索了这件事,并想出了this trick. 但是有一个问题,因为php文件需要通过Wordpress 的系统gettext 要启动的功能我想知道是否有办法在Wordpress中调用php文件,以便我们可以使用内置函数和变量<如果有人能想出更好的解决方案,那就太好了。