Popular post

About

Blog sobre diseño y desarrollo web.
Códigos o enlaces que me han sido útiles en mi trabajo como desarrolladora web :)

martes, 24 de septiembre de 2013

Geo Mashup: añadir iconos personalizados

Función para añadir iconos personalizados basados en una variable añadida a custom fields (country). Poner el nombre del icono en el campo y añadir la imagen en la carpeta. Desde custom.js llamamos a una imagen con el nombre añadido en el campo con +object.countries+

En el function.php del tema añadir el siguiente código para pasar el parametro de custom field country para mostrar los iconos

function my_geo_mashup_locations_json_filter( $json_properties, $queried_object ) {
   $post_id = $queried_object->object_id;
   $key = get_post_meta( $post_id, 'country', true);
   $json_properties['countries'] = $key;
 

   return $json_properties;
}
add_filter( 'geo_mashup_locations_json_object','my_geo_mashup_locations_json_filter', 10, 2 );



En custom.js añadir
GeoMashup.addAction( 'objectIcon', function( properties, object) {
        if ( object.categories.length > 0 ) {
               object.icon.image = properties.template_url_path + '/../../uploads/icons-location/'+object.countries+'48.png';
  object.icon.iconSize = [ 48, 48 ];
  object.icon.iconAnchor = [ 24, 48 ];
object.icon.iconShadow = properties.template_url_path + '/../../uploads/icons-location/shadow.png';
object.icon.shadowSize = new google.maps.Size(48, 48);
object.icon.shadowAnchor = [ 24, 48 ];

}else{  object.icon.image = properties.template_url_path + '/../../uploads/icons-location/more.png' ;
}
     
} );