J'ai plus de 200 customposts et chacun a customfields (add_city, add_state, add_location) dans chaque custompost est googlmap avec customfield (geo_longitude geo_latitude) Aide s'il vous plaît, affiche dans googlmap plusieurs marqueurs, en fonction de plus meta_key meta_value. Pour trier les kustompostes j'utilise ce beau code:
<?php $args = array(
'meta_query'=> array(
array(
'key' => 'add_state',
'value'=> 'ill'
),
array(
'key' => 'add_city',
'value' => 'chicago'
))); $posts = query_posts($args); ?>
Sur la page de détails, j'utilise ce code pour 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>
Ensuite, j'ai créé une page et beaucoup de temps en essayant d'enchaîner l'un de ces codes. Il n'a reçu qu'un écran blanc. S'il vous plaît, aidez-moi à résoudre ce casse-tête !!!
Le seul moyen d'obtenir plusieurs repères sur une carte consiste à utiliser l'API Google Maps. https://developers.google.com/maps/documentation/javascript/tutorial .
La façon dont vous faites référence à travers une iframe ne permet qu’un seul marqueur (un seul emplacement).