如何在Google地图上以特定的meta_key和meta_Value添加多个标记

时间:2012-04-02 作者:Shklyar Sergio

我有200多个custompost,每个custompost中都有customfields(add\\u city、add\\u state、add\\u location)每个custompost中都有googlmap和customfield(geo\\u longitude geo\\u latitude)帮助,请在googlmap中显示多个标记,具体取决于更多的meta\\u键meta\\u值。要对kustomposts进行排序,我使用以下漂亮的代码:

<?php $args = array(
\'meta_query\'=> array(
    array(
        \'key\' => \'add_state\',
        \'value\'=> \'ill\'
    ),
           array(
                    \'key\' => \'add_city\',
                    \'value\' => \'chicago\'
     ))); $posts = query_posts($args); ?>
在详细信息页面上,我对googlmap使用以下代码:

<?php
        $add_arr = array();
        if(get_post_meta($post->ID,\'address\',true))
        {
            $add_arr[] = get_post_meta($post->ID,\'address\',true);
        }
        if(get_post_meta($post->ID,\'add_city\',true))
        {
            $add_arr[] = get_post_meta($post->ID,\'add_city\',true);
        }
        if(get_post_meta($post->ID,\'add_state\',true))
        {
            $add_arr[] = get_post_meta($post->ID,\'add_state\',true);
        }

        $add_str = \'\';
        if($add_arr)
        {
            $add_str = implode(\',\',$add_arr);
        }
        if($add_str)
        {
            $geo_longitude = get_post_meta($post->ID,\'geo_longitude\',true);
            $geo_latitude = get_post_meta($post->ID,\'geo_latitude\',true);
        ?>
    <div class="propertymap">


             <?php if($geo_longitude &&  $geo_latitude){

                    require_once (TEMPLATEPATH . \'/library/map/preview_map.php\');
                    preview_address_google_map($geo_latitude,$geo_longitude,$add_str);
            }else{?>
            <iframe src="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=<?php echo $add_str;?>&ie=UTF8&z=14&iwloc=A&output=embed" height="358" width="239" scrolling="no" frameborder="0" ></iframe>
            <?php }?></div>
然后我创建了一个页面,花了很多时间尝试对这些代码中的任何一个进行字符串化。他只收到一个白色屏幕。请帮我解决这个难题!!!

3 个回复
SO网友:Nick

在地图上获取多个标记的唯一方法是使用谷歌地图API。https://developers.google.com/maps/documentation/javascript/tutorial.

通过iframe进行引用的方式只允许使用一个标记(一个位置)。

SO网友:Jarek

还有其他方法可以在地图上获得多个标记,而不需要任何编程。。您可以使用http://www.copypastemap.com 或谷歌FusionTables。抱歉,如果您坚持编程解决方案,则无法帮助您。

SO网友:SParavate

我在多个位置找到了这个很棒的解决方案,php、mysql、自定义标记、全屏选项,不需要Google API键。看一看

»;SachingShare.com 博客文章

结束

相关推荐