Gmap e Proximity Search
Rieccomi :)
Dovrei sviluppare con drupal una soluzione tipo questa: http://www.opel.it/tools/opel-locate-dealer.html, nella quale mettedo il nome di una cittá o il CAP ti visualizza una google map centrata sul marker piú vicino.
Ho attivato i moduli:
Gmap
Gmap Location
Location
Location Search
Node Location
Sono riuscito a popolare una view con tutti i marker inseriti, ma non ho idea di come inserire una form in cui digito, per esempio, il CAP e mi restituisce la mappa.
Suggerimenti?

Risposte
Un'idea: se la lista dei CAP
Un'idea: se la lista dei CAP fosse organizzata in una tassonomia, potresti creare nella tua vista un filtro esposto all'utente. Quando l'utente seleziona una tassonomia (cioè un CAP specifico) automaticamente la view dei markers verrà filtrata visualizzando tutti e soli i nodi che appartengono a quella tassonomia.
In realtá i markers devono
In realtá i markers devono essere visualizzati tutti quanti, quello che devo fare é centrare la mappa sulla base del cap (o del nome del comune), oltre ad estrapolare l'elenco dei markers in ordine di distanza.
Credo si possa fare mediante la differenza delle coordinate, che vanno preventivamente caricate nel database. Il file INSTALL.txt del modulo location dice:
6) (Optional) Import a postal codes database for the countries served by your
website, to support proximity searches and other useful features. Postal
code databases may be found in the "databases/" sub-directory of the
Location module directory. The files are in the format of zipcodes.CC.mysql,
where CC is a two-letter country code such as 'us' or 'de'.
Il file zipcodes.it.mysql non c'é, ma lo posso creare tranquillamente. Il problema é che nel database non ho la tabella zipcodes, ed il file zipcodes.us.sql la richiede:
INSERT INTO zipcodes VALUES ('00210','Portsmouth','NH','43.005895','-71.013202',-5,1,'us');
INSERT INTO zipcodes VALUES ('00211','Portsmouth','NH','43.005895','-71.013202',-5,1,'us');
INSERT INTO zipcodes VALUES ('00212','Portsmouth','NH','43.005895','-71.013202',-5,1,'us');
INSERT INTO zipcodes VALUES ('00213','Portsmouth','NH','43.005895','-71.013202',-5,1,'us');
INSERT INTO zipcodes VALUES ('00214','Portsmouth','NH','43.005895','-71.013202',-5,1,'us');
INSERT INTO zipcodes VALUES ('00215','Portsmouth','NH','43.005895','-71.013202',-5,1,'us');
Ho sbagliato qualcosa in fase di installazione del modulo?
La tabella zipcodes dovrebbe
La tabella zipcodes dovrebbe far parte (vedendo il file .install) dello schema del modulo, quindi dovrebbe essere creata durante l'installazione. Vedi per caso se devi fare l'aggiornamento del database (admin/reports/status). Puoi anche utilizzare il modulo http://drupal.org/project/schema per vedere se effettivamente il database è allineato con i moduli installati o se c'è qualche problema.
Per la tabella ho risolto,
Per la tabella ho risolto, guardavo il DB sbagliato :)
Ora mi funzionicchia, ma devo apportare alcune modifiche al modulo. Mi piacerebbe poi pubblicarle alla comunitá, ma non ho la piú pallida idea di come fare. Hai qualche link da consigliarmi?
In questo caso stai
In questo caso stai effettuando delle modifiche ad un modulo esistente, puoi rivolgerti direttamente al/ai "mantainer" (cioè a chi si occupa del suo sviluppo/aggiornamento) del modulo stesso attraverso la pagina ufficiale http://drupal.org/project/location.
Attraverso la coda delle "issues" (http://drupal.org/project/issues/location) puoi interagire con gli sviluppatori postando ad esempio le tue soluzioni, le modifiche effettuate al codice, le nuove funzionalità che hai aggiunto. Starà poi agli sviluppatori testare ed applicare le tue modifiche al progetto.
A volte nella pagina del progetto puoi trovare indicazioni esplicite su come poter aiutare il maintainer corrente: è possibile ad esempio che il maintainer stesso abbia bisogno di un co-maintainer per tener aggiornato un modulo. In questo caso (se ti proponi con co-maintainer) sarai tu stesso ad applicare direttamente le modifiche ai codici del progetto.
In entrambi i casi ti occorrerà la conoscenza dell'inglese e (non strettamente necessaria se non sei un maintainer, ma comunque utile) del sistema CVS per la gestione degli archivi di codici (per creare le patch, applicarle o modificare i files).
Un'ottima guida (in inglese) su come poter contribuire allo sviluppo la trovi qui http://drupal.org/contribute/development.
Se invece preferisci creare una "discussione" attorno al modulo e alle tue modifiche per condividerle qui su drupal.it, puoi creare un nuovo gruppo di discussione.
Proprio questa mattina ho
Proprio questa mattina ho navigato sulle Issues del modulo Location, ed ho trovato ció che fa al caso mio: http://drupal.org/node/662892
Ho sostituito la versione che stavo usando con quella del ramo develop, ho applicato la patch che hanno postato e tutto funziona che é una meraviglia :) In realtá devo ancora risolvere alcune questioni, tipo centrare la mappa sulla localtá selezionata, ma per ora sono molto contento.
Quello che mi preoccupa un po' é che sto usando una versione in develop patchata, quindi se la patch non verrá inserita nel modulo ufficiale mi perderó la compatibilitá con i futuri aggiornamenti.. anche quelli relativi alla sicurezza.
Come faccio a sapere se e quando la patch verrá inclusa?
Quando c'è un aggiornamento
Quando c'è un aggiornamento consulta attentamente le "release notes" (il link lo trovi nella pagina sul report degli aggiornamenti del sito o direttamente sulla pagina del progetto) ad esempio http://drupal.org/node/346396. Di solito contiene la lista dei cambiamenti dall'ultima versione e il link alla issue dove viene "sollevato" il problema. Dalla pagina del progetto c'è anche un link "View pending patches": di solito qui viene riportata la lista delle varie patch e il loro stato. Ultimo e non meno utile vedi http://drupal.org/project/issues/subscribe-mail/location che ti permette di iscriverti per email alla coda di sviluppo per ricevere aggiornamenti.