Probleme POIs sur une carte

hedihedi Membre
02:19 modifié dans Vos applications #1
Bonjour à  tous
dans mon application j'ai besoin d'afficher sur la carte tous les POIs qui existent dans un fichier json distant (que je parse correctement)
et ensuite utiliser un filtre (que j'ai créer correctement dans une PickerView) pour pouvoir filtrer les POIs.



for (int i = 0; i< [poisPerTypes count]; i++)
{
[pickerController.delegate pickerViewController:pickerController didSelectValue:poisPerTypes allKeys] objectAtIndex:i;

DLog (@TEST = , poisPerTypes);
}

Donc poisPerTyper est un NSArray qui contient tous les types de POIs
Le pickerViewController est la méthode qui gère les POIs en les mettants dans un filtre

Mon problème c'est que seulement le dernier de la liste qui s'ffiche. et moi j'ai besoin d'afficher tous les POIs

Est ce quelqu'un a une petite idée.

Merci pour vos retours

Réponses

  • hedihedi Membre
    02:19 modifié #2
    Rebonjour
    En fait peut etre que ma demande n'etait pas precise car il manque du code
    voici le code
    - (void)acoRace:(ACORace *)raceObject didLoadPointsOfInterest:(NSArray *)poisList<br />{<br />	[hud_ hide:YES];<br />	DLog(@&quot;POIS : %@&quot;, poisList);<br />	<br />	if ([poisList count] == 0)<br />	{<br />		UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@&quot;planLoadingNoPointsTitle&quot;, @&quot;&quot;)<br />															message:NSLocalizedString(@&quot;planLoadingNoPointsMessage&quot;, @&quot;&quot;)<br />														&nbsp;  delegate:self<br />												&nbsp; cancelButtonTitle:NSLocalizedString(@&quot;planLoadingNoPointsButton&quot;, @&quot;&quot;) <br />												&nbsp; otherButtonTitles:nil];<br />		[alertView setTag:kAlertViewNoPointsTag];<br />		[alertView show];<br />		[alertView release];<br />		return;<br />	}<br />	<br />	// ajout du bouton filtrer seulement si on a des POI<br />	[self addRightBarButton:NSLocalizedString(@&quot;planFilterBarButton&quot;, @&quot;Filtrer&quot;) withTarget:self andAction:@selector(filterAction:)];<br /><br />	for (ACOPointOfInterest *poi in poisList)<br />	{<br />		NSMutableArray *poisPerType = (NSMutableArray *)[poisPerTypes objectForKey:poi.typePoi];<br />		if (poisPerType == nil)<br />		{<br />			poisPerType = [[[NSMutableArray alloc] initWithCapacity:0] autorelease];<br />			[poisPerTypes setObject:poisPerType forKey:poi.typePoi];<br />		}<br />		<br />		[poisPerType addObject:poi];<br />		//[poisPerType addObjectsFromArray:[poi valueForKey:poi.typePoi]];<br />	}<br />	<br />	DLog(@&quot;Pois per type : %@&quot;, poisPerTypes);<br />	<br />	// Appel de la pickerView contenant tous les POIs.<br />	if (pickerController == nil)<br />	{<br />		pickerController = [[ACOPickerViewController alloc] init];<br />		pickerController.delegate = self;<br />		<br />		[pickerController clearAllItems];<br />		<br />		for (NSString *poiKey in [poisPerTypes allKeys])			<br />		{<br />			[pickerController addItemWithText:[NSString stringWithFormat:@&quot;%@&quot;, [poisTypeStrings valueForKeyPath:[NSString stringWithFormat:@&quot;%@.title&quot;, poiKey]]] andValue:poiKey];<br />						<br />		}<br />	}<br />	<br />	for (int i = 0; i &lt; [poisPerTypes count]; i++)<br />	{	<br /><br />//CA CEST LA PARTIE QUI PERMET DAFFICHER TOUS LES POIS MAIS CETTE BOUCLE NE DONNE QUE LES ANNOTATIONS DU DERNIER POIS DANS LA LISTE	<br />	<br />	//[pickerController.delegate pickerViewController:pickerController didSelectValue:[[poisPerTypes allKeys] objectsAtIndexes:]];<br />	[pickerController.delegate pickerViewController:pickerController didSelectValue:[[poisPerTypes allKeys] objectAtIndex:i]];<br />		//DLog (@&quot;TEST = &quot;, poisPerTypes);<br />	}<br />}<br />
    



    ET VOICI LA BOUCLE QUI PERMET DE REMPLIR LE PICKER ET DE SELECTIONNER UN ELEMENT.
    - (void)pickerViewController:(ACOPickerViewController *)viewController didCancel:(id)selectedValue<br />{<br />	<br />}<br /><br />- (void)pickerViewController:(ACOPickerViewController *)viewController didSelectValue:(NSString *)selectedPoiType<br />{<br />	PXReleaseSafely(selectedOptionValue);<br />	selectedOptionValue = [selectedPoiType retain];<br />	DLog(@&quot;Poi type : %@&quot;, selectedPoiType);<br />	<br />	if (displayedPois != nil)<br />	{<br />		[mapView removeAnnotations:displayedPois];<br />	}<br />	<br />	displayedPois = (NSArray *)[poisPerTypes objectForKey:selectedPoiType];<br />	<br />	[mapView setDelegate:self];<br />		<br />	[mapView addAnnotations:displayedPois];<br />	<br />	DLog(@&quot;Pois = %@&quot;, displayedPois);<br />}<br /><br />
    



    MERCI BEAUCOUP POUR VOTRE AIDE C'EST VRAIMENT URGENT POUR MOI


Connectez-vous ou Inscrivez-vous pour répondre.