Drupal og Google Maps

Anonym
Anonyms bilde

Hei, jeg er i ferd med å lage en side med Drupal, hvor jeg ønsker å knytte nodene til ett kart (google maps).  Jeg har tidligere jobbet med en ett CMS som hadde denne funksjonen. Jeg fant modulen "gmap" som så ut til å kunne gjøre dette for meg, men jeg får ikke relasjonene mellom gmap og noden til å fungere, mest sansynlig fordi jeg ikke kan Drupal godt nok.  Er det noen som har erfaring med gmap eller andre moduler som kan løse problemet.

 

Petter

Hjemmeside
Hjemmesides bilde
Avlogget
Bidragsyter
Ble med: 17.06.2008
Kart i noden?

Hva mener du med å knytte nodene til et kart fra Google Maps? Skal det f.eks. være slik at man skriver om en plass i verden, så vil kartet over stedet man snakker om dukke opp i noden, eller andre steder på websiden?

Anonym
Anonyms bilde
maps

Jeg er kanskje ikke så god til å forklare meg.  Men konkret, jobber jeg med en webside som skal ta for seg historien til en øy. Samle historikk om de forskjellige gårdene og stedene på øya. Tanken var da at når en lagde f.eks. en artikkel skulle en samtidig kunne geografisk plassere stedet på kartet. Dette skulle da samles sammen til ett oversiktskart som innholdt markeringer for artikler. Av denne grunn trengte jeg en relasjon mellom hmap og nodene. Jeg kan godt sende deg innlogging, så du forstår hva jeg mener.

 

Petter

Hjemmeside
Hjemmesides bilde
Avlogget
Bidragsyter
Ble med: 17.06.2008
Kart peker til noder, oversikt over noder og kart i noder?

Ok, så det du er ute etter er et hovedkart, og når man skriver om noe på øya, så skal man ha anledning til å plassere dette på hovedkartet. (Kjekt påfunn).

Har ikke laget slik funksjonalitet før, men jeg skal hjelpe deg siden jeg synes det er artig med en utfordring. :) Vi prøver først å løse det her, og hvis vi ikke klarer det så kan du sende meg en login på mail.

Bare for å vite akkurat hva du ønsker, kommer jeg med noen spørsmål til.

Funksjonalitet til hovedkart

Skal brukere ha mulighet til å klikke på kartet for å bli tatt til noden (eller en oversikt over flere noder) som beskriver dette stedet?

Eksempel: Man skriver om sted A i node 1, 2 og 3. Når man klikker på sted A på kartet så kommer en oversikt over nodene 1, 2 og 3.

Eksempel 2: Eller skal en markering på kartet peke til én spesiell node. Dvs. at hvis man klikker på sted A på kartet så sendes man til node 1 (som er den eneste noden som forteller om sted A).

Kart i hver node

Hvis man leser om sted A i node 1, skal det vises kart over A og området rundt A i denne noden?

Anonym
Anonyms bilde
Google Maps

Takk for posivt svar, Ja jeg tennker meg det slik som du ser det i eksempel . Og den informasjonen som kommer opp når en når en trykker på markøren på kartet kommer teaser fra noden opp, noe lignende standardfunksjonen i google maps hvor en kan linke informasjon opp imot markører og koordinatorer. (Jeg gjorde en jobb i høst som viser litt av hva jeg tenker, men da med markører og ikke logoer, se oversikten i Google Maps her).

Som du vil se når du logger deg inn har jeg klart å feste koordinatorer til nodene (se "kart" og "gård"). Men herfra å få det ut på kartet er problemet. Hvilken mailadresse skal jeg sende loggin infoen til?

Petter

Hjemmeside
Hjemmesides bilde
Avlogget
Bidragsyter
Ble med: 17.06.2008
Ta kontakt via epost

Du kan sende informasjonen via kontaktskjemaet. :) Har akkurat laget en ny videoguide som jeg driver å legger opp, så det kan ta litt tid.

Edit, e-post mottatt: Takk, jeg har mottatt eposten fra deg nå. Venter på at en videoguide jeg har laget skal konvertere seg ferdig, så skal jeg kikke litt.

Hjemmeside
Hjemmesides bilde
Avlogget
Bidragsyter
Ble med: 17.06.2008
GMaps guide

Hei igjen. Først noen generelle betraktninger, så litt om hvordan jeg har gått frem. Mye av dette vet du kanskje fra før, men en annen nettsurfer som ønsker samme funksjonalitet bør kunne lese dette og få med seg det essensielle.

Brukere, roller og tillatelser

Jeg har nå logget meg på websiden din som administrator. Vær oppmerksom på at du ikke har gitt korrekte tillatelser til rollen 'forfatter' enda. Du kan derfor oppleve problemer med den sekundære kontoen du har registrert i ditt eget navn. Som administratorbruker er det dog greit, da denne brukerkontoen har rettigheter til absolutt alt hele tiden (uavhengig av om nye moduler installeres).

For å sikre at alle brukerroller, gjester såvel som forfatter osv har tilgang til tingene du ønsker, sørg for å gjennomgå alt sammen før du lanserer. Hadde en episode her, hvor jeg tillot alle brukere å redigere alle forumtråder fordi jeg ikke hadde sjekket tilstrekkelig, hehe. Heldigvis gjorde en årvåken og ærlig bruker meg oppmerksom på det.

Sørg derfor for at de riktige roller settes for de riktige brukergruppene. gmaps-modulen kommer med flere tillatelser du må spesifisere.

1. Aktivere aktuelle innholdstyper i gmap location

Klikker man seg inn på "domene.com/admin" har man tilgang til to administrasjonsmenyer for modulen. Henholdsvis

  1. GMap under "domene.com/admin/settings/gmap"
  2. GMap Location under "domene.com/admin/settings/gmap_location".

Etter man har skrevet inn API-key fra Google Maps i (1) GMap menyen, står neste trinn for tur.

(2) GMap Location bestemmer hvordan plassering på kartet skal forekomme, samt. innstillinger rundt dette. Gå derfor til "domene.com/admin/settings/gmap_location".

Helt nederst ser du overskriften "Markers per content type". Der vil du bli oppmerksom på at du kan stille inn "marker" for de forskjellige innholdstypene dine. Herfra kan man altså velge hvilken type markør som plasseres i kartet for den aktuelle innholdstypen. Du kan velge dette nå.

Markers per content type

Under flere av innholdstypene står det "This content type is not currently Location enabled", hvilket betyr at den ikke skal vises i hovedkartet. Så da blir spørsmålet:

Hvordan aktivere visning av innholdstyper i kartet

Vi tar utgangspunkt i én av de innholdstypene du har definert, nemlig "gård". Grunnen til at man ikke ser dette henger sammen med definisjonen av innholdstypen. Du kan endre dette ved å gå til "domene.com/admin/content/node-type/[navn-pa-nodetype]", i ditt tilfelle "domene.com/admin/content/node-type/gard-node".

Under "Locative information" finner man "Number of locations". Her må man spesifisere "Minimum number of locations" og "Maximum number of locations". Satt disse til hhv. 1 og 1, siden en gård kun kan befinne seg på ett sted.

Locative information

Spesielt for deg: Du hadde angitt et eget felt for koordinater, dette slettet jeg for denne innholdstypen. Du skal gjøre det samme for de andre innholdstypene dine.

2. Merke av nytt innhold fra innholdstypene på kartet

Når du oppretter nytt innhold med innholdstypen "gård" skal du spesifisere koordinatene (latitude & longitude) for den, eller zoome inn på kartet å klikke av. Avmerking av koordinater skal gjøres under menyen "Plassering" som du nå har tilgjengelig (fordi du aktiverte plasseringen i stad).

I nodetypen "gård" har du en node som heter "uglestad". Jeg redigerte denne noden og markerte hvor på kartet noden hørte til. (Ikke riktig sted, med mindre jeg traff spikeren på hodet, hehe).

Slik ble resultatet av markeringen.

Node map via gmap module med Drupal

Spesielt for deg: Du hadde laget et eget template med modulen 'contemplate' for innholdstypen "gård", denne deaktiverte jeg. Du kan bruke content template for å bestemme hva som skal vises i kartet over noder. Som du ser på kartet nå, er innholdet merket av og informasjon kommer opp i boblen. Det ser ut til at du må style teksten med CSS (siden bakgrunnen er hvit og teksten likeså), evt. gjøre noen innstillinger for hvordan informasjon i bobler skal vises. Er usikker på hvordan dette gjøres, men hjelper deg gjerne.

3. Hvis lage 'views' og legge dem inn på kartet

Man kan også opprette egne 'views' med view-modulen, deretter kan man la lister over spesielt innhold dukke opp når man klikker på forskjellige plasseringer på kartet.

Jeg har ikke tid til å gjøre dette akkurat nå, men hvis du trenger hjelp til å få til noe slikt, så får du si ifra, så skal jeg se hva vi kan få gjort. :)

Var uansett veldig spennende å leke med dette, det åpner absolutt for spennende muligheter. :)

Svar på forumemnet

(If you're a human, don't change the following field)
Your first name.
Innholdet i dette feltet blir holdt privat og vil ikke bli vist offentlig.