There is an ongoing outage on the primary CPAN mirror. It is possible to work around the issue by using MetaCPAN as a mirror.

NAME

HTML::Genealogy::Map - Extract and map genealogical events from GEDCOM file

VERSION

Version 0.03

DESCRIPTION

This module parses GEDCOM genealogy files and creates an interactive map showing the locations of births, marriages, and deaths. Events at the same location are grouped together in a single marker with a scrollable popup.

SUBROUTINES/METHODS

onload_render

Render the map. It takes two mandatory and one optional parameter. It returns an array of two elements, the items for the head and body.

gedcom

GEDCOM object to process.

geocoder

Geocoder to use.

google_key

Key to Google's map API.

debug

Enable print statements of what's going on

FEATURES

  • Extracts births, marriages, and deaths with location data

  • Geocodes locations using multiple fallback providers

  • Groups events at the same location (within ~0.1m precision)

  • Color-coded event indicators (green=birth, blue=marriage, red=death)

  • Sorts events chronologically within each category

  • Scrollable popups for locations with more than 5 events

  • Persistent caching of geocoding results

  • For OpenStreetMap: centers on location with most events

API SPECIFICATION

INPUT

{
  'gedcom' => { 'type' => 'object', 'can' => 'individuals' },
  'geocoder' => { 'type' => 'object', 'can' => 'geocode' },
  'debug' => { 'type' => 'boolean', optional => 1 },
  'google_key' => { 'type' => 'string', optional => 1, min => 39, max => 39, matches => qr/^AIza[0-9A-Za-z_-]{35}$/ },
  'height' => { optional => 1 },
  'width' => { optional => 1 }
}

OUTPUT

Argument error: croak No matches found: undef

Returns an array of two strings:

{
  'type' => 'array',
  'min' => 2,
  'max' => 2,
  'schema' => { 'type' => 'string', min => 10 },
}

AUTHOR

Nigel Horne, <njh at nigelhorne.com>

BUGS

SEE ALSO

REPOSITORY

https://github.com/nigelhorne/HTML-Genealogy-Map

SUPPORT

This module is provided as-is without any warranty.

Please report any bugs or feature requests to bug-html-genealogy-map at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=HTML-Genealogy-Map. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

You can find documentation for this module with the perldoc command.

perldoc HTML::Genalogy::Map

You can also look for information at:

LICENCE AND COPYRIGHT

Copyright 2025 Nigel Horne.

Usage is subject to licence terms.

The licence terms of this software are as follows:

  • Personal single user, single computer use: GPL2

  • All other users (including Commercial, Charity, Educational, Government) must apply in writing for a licence for use from Nigel Horne at the above e-mail.