I am reading values from a Wordpress database into an array. I am then plotting these to a Google map.
The problem is i have multiple items in the same location, and when plotted to the map i can only see one of them (i presume multiple entries are covering each other.
My output in this test case is:
Array
(
[0] => Array
(
[geo] => 51.540697,-0.144197
[type] => show
[timestamp] => May 10, 2010
[title] => The Twenty Minute Policy at The Etcetera Theatre
[permalink] => http://localhost.davidswain/show/the-twenty-minute-policy-the-etcetera-theatre
)
[1] => Array
(
[geo] => 51.547879,-0.138853
[type] => show
[timestamp] => May 10, 2010
[title] => Happy Everyday! at The Lion and Unicorn
[permalink] => http://localhost.davidswain/show/happy-everyday-lion-and-unicorn
)
[3] => Array
(
[geo] => 51.537475,-0.086871
[type] => show
[timestamp] => January 19, 2010
[title] => Stay With Me Till Dawn at The Rosemary Branch
[permalink] => http://localhost.davidswain/show/stay-with-me-till-dawn-at-the-rosemary-branch
)
[4] => Array
(
[geo] => 51.537475,-0.086871
[type] => show
[timestamp] => January 15, 2010
[title] => The Other Roof at The Rosemary Branch
[permalink] => http://localhost.davidswain/show/the-other-roof-at-the-rosemary-branch
)
[5] => Array
(
[geo] => 51.547879,-0.138853
[type] => show
[timestamp] => November 24, 2009
[title] => Supernatural at The Lion & Unicorn Theatre
[permalink] => http://localhost.davidswain/show/supernatural-at-the-lion-unicorn-theatre
)
[6] => Array
(
[geo] => 53.799639,-1.549122
[type] => images
[timestamp] => October 23, 2009
[title] => Imicus – Visceral
[permalink] => http://localhost.davidswain/images/imicus-visceral
)
As you can see there are duplicate geo values for various items.
What i would like to do is combine elements with identical geo location so i can use them the same on the output.
eg:
geo location 1 - value geo location 2 - value + other values for identical geo location.
Does that make sense?
Update:
I cant get it to work. My code is:
$args = array(
'post_type' => array('post', 'page', 'role', 'images', 'showreel', 'training', 'skill', 'show' ),
'meta_key' => 'geo_value',
'posts_per_page' => -1
);
$wherePosts = new WP_Query($args);
while ($wherePosts->have_posts()) : $wherePosts->the_post();
if (get_post_type() == "images") {
$type = "Image Gallery";
} elseif (get_post_type() == "show") {
$type = "Show dates";
}
$venue = addslashes(get_post_meta($post->ID, 'venue_value', true));
$area = addslashes(get_post_meta($post->ID, 'area_value', true));
if (!empty($venue)) {
$location = $venue;
} elseif (!empty($area)) {
$location = $area;
}
$current = get_the_ID();
$thePosts[] = array(
geo => get_post_meta($post->ID, 'geo_value', true),
str => '<div class="map-overlay"><b>' . $location . '</b><p><a href="' . get_permalink() . '">' . get_the_title() . '</a> - ' . $type .' - ' . get_the_date() . '</p></div>'
);
endwhile;
wp_reset_query();
//sort array
//print_r($thePosts);
$locationArray = Array();
foreach ($thePosts as $value) {
if ( isset($locationArray[$value['geo']] )) {
$locationArray[] = $value;
} else {
$locationArray[$value['geo']] = Array($value);
}
}
?>
<pre>
<?php
print_r($locationArray);
//ksort($geoArray);
print_r($geoArray);
?>
</pre>
<?php
foreach($locationArray as $geo => $items){
foreach($items as $item){
echo $item['str'];
}
}
?>
which is outputting:
Array
(
[51.540697,-0.144197] => Array
(
[0] => Array
(
[geo] => 51.540697,-0.144197
[str] =>
The Etcetera Theatre
The Twenty Minute Policy at The Etcetera Theatre - Show dates - May 10, 2010
)
)
[51.547879,-0.138853] => Array
(
[0] => Array
(
[geo] => 51.547879,-0.138853
[str] =>
The Lion and Unicorn
Happy Everyday! at The Lion and Unicorn - Show dates - May 10, 2010
)
)
[51.535262,-0.135425] => Array
(
[0] => Array
(
[geo] => 51.535262,-0.135425
[str] =>
Theatro Technis
Malowe at Theatro Technis - Show dates - May 7, 2010
)
)
[51.537475,-0.086871] => Array
(
[0] => Array
(
[geo] => 51.537475,-0.086871
[str] =>
The Rosemary Branch
Stay With Me Till Dawn at The Rosemary Branch - Show dates - January 19, 2010
)
)
[0] => Array
(
[geo] => 51.537475,-0.086871
[str] =>
The Rosemary Branch
The Other Roof at The Rosemary Branch - Show dates - January 15, 2010
)
[1] => Array
(
[geo] => 51.547879,-0.138853
[str] =>
The Lion and Unicorn
Supernatural at The Lion & Unicorn Theatre - Show dates - November 24, 2009
)
[53.799639,-1.549122] => Array
(
[0] => Array
(
[geo] => 53.799639,-1.549122
[str] =>
Leeds, England, UK
Imicus – Visceral - Image Gallery - October 23, 2009
)
)
[51.551706,-0.158825] => Array
(
[0] => Array
(
[geo] => 51.551706,-0.158825
[str] =>
London, England, UK
Rob Is - Image Gallery - September 22, 2009
)
)
[51.527488,-0.138667] => Array
(
[0] => Array
(
[geo] => 51.527488,-0.138667
[str] =>
Camden People\'s Theatre
Rob Is at Camden People’s Theatre - Show dates - August 10, 2009
)
)
[50.904966,-1.403234] => Array
(
[0] => Array
(
[geo] => 50.904966,-1.403234
[str] =>
Southampton, England, UK
Anniversary - Image Gallery - August 8, 2009
)
)
[51.558643,-0.176306] => Array
(
[0] => Array
(
[geo] => 51.558643,-0.176306
[str] =>
New End Theatre
Instillation at The New End Theatre - Show dates - May 13, 2009
)
)
[51.544334,-0.174204] => Array
(
[0] => Array
(
[geo] => 51.544334,-0.174204
[str] =>
Central School of Speech and Drama, London, England, UK
The Tempest - Image Gallery - May 12, 2009
)
)
[51.513548,-0.125454 ] => Array
(
[0] => Array
(
[geo] => 51.513548,-0.125454
[str] =>
London Film School, Covent Garden, England UK
Jack and Jessies - Image Gallery - May 10, 2009
)
)
[2] => Array
(
[geo] => 51.544334,-0.174204
[str] =>
Central School of Speech and Drama
The Tempest at Central School of Speech and Drama - Show dates - January 16, 2009
)
[52.20479,0.105361] => Array
(
[0] => Array
(
[geo] => 52.20479,0.105361
[str] =>
Robinson College Garden\'s
As you like it at Robinson College Garden’s - Show dates - August 18, 2008
)
)
[3] => Array
(
[geo] => 52.20479,0.105361
[str] =>
Robinson College Garden\'s
The Comedy of Errors at Robinson College Garden’s - Show dates - July 28, 2008
)
[52.208748,0.115528] => Array
(
[0] => Array
(
[geo] => 52.208748,0.115528
[str] =>
St John\'s College
As you like it at St John’s College - Show dates - July 7, 2008
)
)
[57.186479,-3.828585 ] => Array
(
[0] => Array
(
[geo] => 57.186479,-3.828585
[str] =>
Aviemore, Scotland, UK
Steppenwolf - Image Gallery - June 12, 2008
)
)
[52.504053,-1.881228] => Array
(
[0] => Array
(
[geo] => 52.504053,-1.881228
[str] =>
Birmingham, England, UK
Solo Night - Image Gallery - December 15, 2007
)
)
[52.482961,-1.893592] => Array
(
[0] => Array
(
[geo] => 52.482961,-1.893592
[str] =>
Birmingham, England, UK
Caged - Image Gallery - August 8, 2007
)
)
[52.510958,-1.865101] => Array
(
[0] => Array
(
[geo] => 52.510958,-1.865101
[str] =>
Birmingham, England, UK
Friends - Image Gallery - April 4, 2007
)
)
[52.476211,-1.89793] => Array
(
[0] => Array
(
[geo] => 52.476211,-1.89793
[str] =>
Birmingham, England, UK
Shopping and Fucking - Image Gallery - March 11, 2007
)
)
[52.477448,-1.915939] => Array
(
[0] => Array
(
[geo] => 52.477448,-1.915939
[str] =>
Crescent Theatre
Shopping and Fucking at the Crescent Theatre - Show dates - March 5, 2007
)
)
[53.383055,-1.464795] => Array
(
[0] => Array
(
[geo] => 53.383055,-1.464795
[str] =>
Sheffield, England, UK
Get Lost - Image Gallery - May 1, 2006
)
)
[52.451825,-1.89236] => Array
(
[0] => Array
(
[geo] => 52.451825,-1.89236
[str] =>
Birmingham, England, UK
Five Days - Image Gallery - February 1, 2006
)
)
[52.473299,-1.89029] => Array
(
[0] => Array
(
[geo] => 52.473299,-1.89029
[str] =>
Birmingham, England, UK
CopyCat - Image Gallery - September 25, 2005
)
)
[52.63477,-1.129519] => Array
(
[0] => Array
(
[geo] => 52.63477,-1.129519
[str] =>
Leicester, England, UK
Gift - Image Gallery - January 10, 2005
)
)
)
The Etcetera Theatre
The Twenty Minute Policy at The Etcetera Theatre - Show dates - May 10, 2010
The Lion and Unicorn
Happy Everyday! at The Lion and Unicorn - Show dates - May 10, 2010
Theatro Technis
Malowe at Theatro Technis - Show dates - May 7, 2010
The Rosemary Branch
Stay With Me Till Dawn at The Rosemary Branch - Show dates - January 19, 2010
5<5<
Leeds, England, UK
Imicus – Visceral - Image Gallery - October 23, 2009
London, England, UK
Rob Is - Image Gallery - September 22, 2009
Camden People\'s Theatre
Rob Is at Camden People’s Theatre - Show dates - August 10, 2009
Southampton, England, UK
Anniversary - Image Gallery - August 8, 2009
New End Theatre
Instillation at The New End Theatre - Show dates - May 13, 2009
Central School of Speech and Drama, London, England, UK
The Tempest - Image Gallery - May 12, 2009
London Film School, Covent Garden, England UK
Jack and Jessies - Image Gallery - May 10, 2009
5<
Robinson College Garden\'s
As you like it at Robinson College Garden’s - Show dates - August 18, 2008
5<
St John\'s College
As you like it at St John’s College - Show dates - July 7, 2008
Aviemore, Scotland, UK
Steppenwolf - Image Gallery - June 12, 2008
Birmingham, England, UK
Solo Night - Image Gallery - December 15, 2007
Birmingham, England, UK
Caged - Image Gallery - August 8, 2007
Birmingham, England, UK
Friends - Image Gallery - April 4, 2007
Birmingham, England, UK
Get Lost - Image Gallery - May 1, 2006
Birmingham, England, UK
Five Days - Image Gallery - February 1, 2006
Birmingham, England, UK
CopyCat - Image Gallery - September 25, 2005
Leicester, England, UK
Gift - Image Gallery - January 10, 2005
Seem to have some duplicate key values.