Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modulsuche ›

Umkreissuche

Eingetragen von neofelis (186)
am 03.04.2013 - 17:09 Uhr in
  • Modulsuche
  • Drupal 7.x oder neuer

Ich habe nun Addressfield, Geocoder, Geofield und leaflet Modul in einem Verbund am Laufen. Mit einem speziellem Node hinterlege ich die Adressen. Nun wollte ich zusätzlich eine Umkreissuche (möglichst ohne apache solr) nach Postleitzahl oder auch anderes mit Stichwörtern realisieren. Gibt es da ein gescheites Modul für Drupal 7, welches mit den oben genannten Modulen zusammenarbeitet?

‹ Eigene Newsletterliste für registrierte Nutzer Dateien automatisch nach Kriterien löschen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

OpenLayers Proximity

Eingetragen von Helrunar (194)
am 03.04.2013 - 20:17 Uhr

Ich hatte mal eine Umkreissuche mit OpenLayers und OpenLayers Proximity umgesetzt, weis aber nicht, ob das mit Leaflet zusammen funktioniert.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also, der Kollege hier sagt

Eingetragen von neofelis (186)
am 03.04.2013 - 20:21 Uhr

Also, der Kollege hier sagt schon: http://drupal.stackexchange.com/questions/14659/need-a-simple-google-map...

Bin das gerade mal am ausprobieren und berichte, sobald das Konstrukt erfolgreich ist.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn du die aktuelle

Eingetragen von SteffenR@drupal.org (2262)
am 03.04.2013 - 20:29 Uhr

Wenn du die aktuelle 7.x-2.x-dev Version vom [do:geofield] Modul verwendest, hast du in Views die Möglichkeit über einen exposed Filter eine Umkreissuche darzustellen. Das Ganze funktioniert dann auch im Zusammenspiel mit leaflet Maps.
Ausgabe:

Im View selbst verwendest du dann einfach den Filter Content: Geodata - proximity als exposed-Filter - so kann dann auch der Nutzer eigene Orte Eingeben oder den Umkreis ändern.

OpenLayers und Leaflet selbst spielen nicht zusammen, da beide eigentlich "nur" eine Javascript Bibliothek zur Anzeige von Karten / Visualisierung von Geodaten zur Verfügung stellen. Da müsstest du dich schon für eine Möglichkeit entscheiden - entscheidend ist dabei wohl der Use-Case. Openlayers bietet dir schon sehr viel Out-of-the-box - leaflet hingegen kommt leichtgewichtig daher ( hat aber CSS3 / HTML5 / Mobile Support) und kann durch Plugins gut erweitert werden.

SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke :), darauf bin ich auch

Eingetragen von neofelis (186)
am 03.04.2013 - 20:35 Uhr

Danke :), darauf bin ich auch schon gekommen und habe ich auch gemacht. Soweit so gut, bin gerade im Abschnitt Filter, aber er zeigt mir generell nicht die Leaflet Map an. Egal was ich mache. Hier http://onlinecasino-forum.de/casino/alexander-sibert zeigt er direkt aus dem Field heraus an. Das funktioniert, aber wenn ich per Views ausgebe nicht.

http://onlinecasino-forum.de/datenschutz

Ich mache euch mal Screenshots von meinem View und Einstellungen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Anbei die Screenshots

Eingetragen von neofelis (186)
am 03.04.2013 - 20:43 Uhr

Anbei die Screenshots

AnhangGröße
Adresse - OnlineCasino Forum.png 201.75 KB
Casino - OnlineCasino Forum.png 153.66 KB
Casino Map (Inhalt) - OnlineCasino Forum.png 241.74 KB
Casino Map (Inhalt) - OnlineCasino Forum_1.png 20.53 KB
Location - OnlineCasino Forum.png 171.55 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Waren falsche Einstellungen

Eingetragen von neofelis (186)
am 03.04.2013 - 21:21 Uhr

Waren falsche Einstellungen in Views, nun zeigt er mir schon mal die Map an.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Steffen, ich habe nun

Eingetragen von neofelis (186)
am 04.04.2013 - 05:47 Uhr

Hallo Steffen,

ich habe nun soweit so gut fast alles drin. Ajax muss ja für exposed filter aktiviert sein, aber irgendwie funzt es noch nicht wirklich. Hier mein Auszug des View:

$view = new view();
$view->name = 'casino_map';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'node';
$view->human_name = 'Casino Map';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'Casino Map';
$handler->display->display_options['use_ajax'] = TRUE;
$handler->display->display_options['use_more_always'] = FALSE;
$handler->display->display_options['use_more_text'] = 'mehr';
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'input_required';
$handler->display->display_options['exposed_form']['options']['submit_button'] = 'Search';
$handler->display->display_options['exposed_form']['options']['reset_button_label'] = 'Zurücksetzen';
$handler->display->display_options['exposed_form']['options']['exposed_sorts_label'] = 'Sortieren nach';
$handler->display->display_options['exposed_form']['options']['expose_sort_order'] = FALSE;
$handler->display->display_options['exposed_form']['options']['sort_asc_label'] = 'Aufsteigend';
$handler->display->display_options['exposed_form']['options']['sort_desc_label'] = 'Absteigend';
$handler->display->display_options['exposed_form']['options']['text_input_required_format'] = 'full_html';
$handler->display->display_options['pager']['type'] = 'none';
$handler->display->display_options['style_plugin'] = 'leaflet';
$handler->display->display_options['style_options']['data_source'] = 'field_location';
$handler->display->display_options['style_options']['name_field'] = 'title';
$handler->display->display_options['style_options']['description_field'] = 'title';
$handler->display->display_options['style_options']['map'] = 'OSM Mapnik';
$handler->display->display_options['style_options']['icon'] = array(
  'iconUrl' => '',
  'shadowUrl' => '',
  'iconSize' => array(
    'x' => '',
    'y' => '',
  ),
  'iconAnchor' => array(
    'x' => '',
    'y' => '',
  ),
  'shadowAnchor' => array(
    'x' => '',
    'y' => '',
  ),
  'popupAnchor' => array(
    'x' => '',
    'y' => '',
  ),
);
/* Feld: Inhalt: Titel */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['label'] = '';
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
/* Feld: Inhalt: Location */
$handler->display->display_options['fields']['field_location']['id'] = 'field_location';
$handler->display->display_options['fields']['field_location']['table'] = 'field_data_field_location';
$handler->display->display_options['fields']['field_location']['field'] = 'field_location';
$handler->display->display_options['fields']['field_location']['label'] = '';
$handler->display->display_options['fields']['field_location']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_location']['click_sort_column'] = 'geom';
$handler->display->display_options['fields']['field_location']['settings'] = array(
  'data' => 'full',
);
/* Feld: Inhalt: Location - proximity */
$handler->display->display_options['fields']['field_geofield_distance']['id'] = 'field_geofield_distance';
$handler->display->display_options['fields']['field_geofield_distance']['table'] = 'field_data_field_location';
$handler->display->display_options['fields']['field_geofield_distance']['field'] = 'field_geofield_distance';
$handler->display->display_options['fields']['field_geofield_distance']['label'] = '';
$handler->display->display_options['fields']['field_geofield_distance']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_geofield_distance']['precision'] = '0';
$handler->display->display_options['fields']['field_geofield_distance']['source'] = 'exposed_geofield_filter';
$handler->display->display_options['fields']['field_geofield_distance']['geofield_proximity_manual'] = array(
  'lat' => '',
  'lon' => '',
);
$handler->display->display_options['fields']['field_geofield_distance']['geofield_proximity_entity_url_field'] = 'field_location';
$handler->display->display_options['fields']['field_geofield_distance']['geofield_proximity_current_user_field'] = 'field_location';
$handler->display->display_options['fields']['field_geofield_distance']['radius_of_earth'] = '6371';
/* Sortierkriterien: Inhalt: Beitragsdatum */
$handler->display->display_options['sorts']['created']['id'] = 'created';
$handler->display->display_options['sorts']['created']['table'] = 'node';
$handler->display->display_options['sorts']['created']['field'] = 'created';
$handler->display->display_options['sorts']['created']['order'] = 'DESC';
/* Filterkriterium: Inhalt: Veröffentlicht */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = 1;
$handler->display->display_options['filters']['status']['group'] = 1;
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
/* Filterkriterium: Inhalt: Typ */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'node';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
  'casino' => 'casino',
);
/* Filterkriterium: Inhalt: Location - proximity */
$handler->display->display_options['filters']['field_geofield_distance']['id'] = 'field_geofield_distance';
$handler->display->display_options['filters']['field_geofield_distance']['table'] = 'field_data_field_location';
$handler->display->display_options['filters']['field_geofield_distance']['field'] = 'field_geofield_distance';
$handler->display->display_options['filters']['field_geofield_distance']['value'] = array(
  'distance' => '10',
  'distance2' => 200,
  'unit' => '6371',
  'origin' => '',
);
$handler->display->display_options['filters']['field_geofield_distance']['exposed'] = TRUE;
$handler->display->display_options['filters']['field_geofield_distance']['expose']['operator_id'] = 'field_geofield_distance_op';
$handler->display->display_options['filters']['field_geofield_distance']['expose']['label'] = 'Location - proximity';
$handler->display->display_options['filters']['field_geofield_distance']['expose']['operator'] = 'field_geofield_distance_op';
$handler->display->display_options['filters']['field_geofield_distance']['expose']['identifier'] = 'field_geofield_distance';
$handler->display->display_options['filters']['field_geofield_distance']['expose']['remember_roles'] = array(
  2 => 0,
  1 => '1',
  3 => 0,
  6 => 0,
  4 => 0,
  5 => 0,
);
$handler->display->display_options['filters']['field_geofield_distance']['source'] = 'geocoder';
$handler->display->display_options['filters']['field_geofield_distance']['geofield_proximity_entity_url_field'] = 'field_location';
$handler->display->display_options['filters']['field_geofield_distance']['geofield_proximity_current_user_field'] = 'field_location';

/* Display: Block */
$handler = $view->new_display('block', 'Block', 'block');
$translatables['casino_map'] = array(
  t('Master'),
  t('Casino Map'),
  t('mehr'),
  t('Search'),
  t('Zurücksetzen'),
  t('Sortieren nach'),
  t('Aufsteigend'),
  t('Absteigend'),
  t('Select any filter and click on Apply to see results'),
  t('.'),
  t(','),
  t('Location - proximity'),
  t('Block'),
);

Kannst du mir mal Screenshots von deinen View Einstellungen zusenden? Dann kann ich das mal mit meinen abgleichen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Funktioniert die Umkreissuche

Eingetragen von SteffenR@drupal.org (2262)
am 04.04.2013 - 07:06 Uhr

Funktioniert die Umkreissuche denn ohne Ajax in deinem View ?
Mit Ajax scheint es wohl noch das Problem zu geben, dass die Karte nicht wieder automatisch "raus" zoomt, wenn man bspw. im Umkreis von 10km und dann im Umkreis von 100km sucht - das filtern der Inhalte an sich funktioniert problemlos.

Für die Ajax-Funktionalität müsstest du dich mal durch die Issues von geofield arbeiten und schauen, ob der Bug dort schon aufgeführt ist.
http://drupal.org/project/issues/geofield?status=All&categories=All

Mit deinem bisherigen Setup verstößt du gerade noch gegen die Nutzungsbedingungen von GoogleGeocoder - diesen darfst du nur nutzen, wenn du die Daten auch auf Google-Kartenmaterial anzeigst. Alternative Geocoder, die dann auch das Einbinden von OpenStreetmap und anderen Karten erlauben findest du auf der Projektseite des [do:geocoder] Moduls.

SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für den Tip, habe nun

Eingetragen von neofelis (186)
am 04.04.2013 - 07:48 Uhr

Danke für den Tip, habe nun Ajax deaktiviert, ich hatte es nur aktiviert, weil ich folgenden Hinweis bekam:
Exposed filters in block displays require "Use AJAX" to be set to work correctly.

Hervorgehobenes Formular

Stil des hervorgehobenen Formulars:Eingabe erforderlich | .. sobald das aktiviert ist. Deaktiviere ich Ajax fehlen mir die exposed Filter.

Benutzt du von leaflet die aktuelle dev oder etwas ältere stable Release?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Achso, ich habe die Domain

Eingetragen von neofelis (186)
am 04.04.2013 - 07:51 Uhr

Achso, ich habe die Domain geändert zu http://onlinecasino-magazin.de - da siehst du es

  • Anmelden oder Registrieren um Kommentare zu schreiben

Auf der Seite wird auch die

Eingetragen von SteffenR@drupal.org (2262)
am 04.04.2013 - 11:00 Uhr

Auf der Seite wird auch die Leaflet Library nicht geladen - funktioniert das Ganze denn generell auf deinen Seiten?
Hast du Leaflet selbst korrekt eingerichtet - hier brauchst du auf jeden Fall noch die Javascript Library im sites/all/libraries Verzeichnis.

Am Besten kannst du ganze auch ohne die Filter testen - schau da erstmal, ob er dir den View korrekt lädt.

Im Beispiel nutze ich die Version 7.x-1.0-beta2 des leaflet Moduls.

SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja, ist alles drin, mit der

Eingetragen von neofelis (186)
am 04.04.2013 - 11:13 Uhr

Ja, ist alles drin, mit der Library ebenfalls, siehe den Node über field. Ich nutze auch die gleiche Beta2 Version von Leaflet wie du.

http://onlinecasino-magazin.de/casino/alexander-sibert

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also, er lädt die Library nur

Eingetragen von neofelis (186)
am 04.04.2013 - 12:34 Uhr

Also, er lädt die Library nur dann nicht, sobald ich rechts auf Hervorheben aktivieren klicke. In Basis ohne Filter funktioniert es problemlos. Ohne Ajax Aktivierung zeigt er gar nichts an.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nodes im Umkreis anzeigen

Eingetragen von Helge (404)
am 23.04.2013 - 17:54 Uhr

Habe ein ähnliches Problem und möchte mich gern hier dran hängen ;o)

Ich benutze, wie Helrunar, OpenLayers und OpenLayers Proximity.
Habe es aber bisher nicht hinbekommen, dass er mir in der Sidebar Einträge in 10 km Umkreis anzeigt.

Ich brauch doch dafür eigentlich nur einen Filter und die Felder mit den long/lat-Daten, oder?

Da der aktuelle Node der Vergleichsnode sein soll, nehm ich als STandort "Get location from a Node".
Hab ich das soweit richtig verstanden?

Gruß
Helge

AnhangGröße
ol-proximity.jpg 63.16 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe auch das Problem,

Eingetragen von zwerg (736)
am 16.09.2013 - 17:58 Uhr

Ich habe auch das Problem, dass Drupal den Standort des Benutzers anhand dessen GPS-Koordinaten (alternativ IP-Adresse) ermitteln soll und dann in einer View die 10 nächst gelegenen Objekte ausgeben soll. Hat jemand dazu eine Lösung, das z.B über Geofield oder Geolocation hin zu bekommen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Tagen 17 Stunden
  • Hey danke
    vor 3 Tagen 12 Stunden
  • Update: jetzt gibt's ein
    vor 4 Tagen 6 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 1 Tag
  • Da scheint die Terminologie
    vor 1 Woche 1 Tag
  • Kannst doch auch alles direkt
    vor 1 Woche 6 Tagen
  • In der entsprechenden View
    vor 1 Woche 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 1 Woche 6 Tagen
  • gelöst
    vor 4 Wochen 2 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 11 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association